C++--accumulate介绍

在C++中,accumulate是一个用于对容器中的元素进行累加操作的函数模板,位于 头文件中。它允许你对容器(如vector或array)中的元素进行累加运算,并返回累加的结果。

源代码展示

cpp 复制代码
template<class InputIterator, class Type>  
Type accumulate(  
InputIterator _First,  //开始迭代器  
InputIterator _Last,   //结束迭代器  
Type _Val              //初始值  
);

源码剖析

cpp 复制代码
template<class InputIterator, class T> 
T accumulate( 
InputIterator first,  
InputIterator last,   
T init ) 
{
    for(;first != last; ++first) 
        init = init + *first; //默认为累加 
    return init; 
}

应用举例

cpp 复制代码
 #include <iostream> 
    #include <vector> 
    #include <numeric> 
    using namespace std; 
    int main() 
    {
        vector<int>v{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 
        auto sum = accumulate(v.begin(), v.end(), 0);//把v的所有值累加,初始值为0

    
        cout << "累加结果为:"<<sum<<endl; 
    
        return 0; 
    }

本篇完!

相关推荐
Shadow(⊙o⊙)8 分钟前
Linux基础IO-1.0——open、close、read及write-深入手搓分析!
linux·运维·服务器·开发语言·c++·学习
我是一颗柠檬9 分钟前
【JDK8新特性】Stream流API上Day4
java·开发语言·后端
A南方故人11 分钟前
将容器内的元素变为可拖拽
开发语言·javascript·ecmascript
小小de风呀14 分钟前
de风——【从零开始学C++】(九)—vector的基本使用
开发语言·c++
MepSUxjvy15 分钟前
002:RAG 入门-LangChain 读取文本
开发语言·python·langchain
我是一颗柠檬16 分钟前
【JDK8新特性】方法引用与构造器引用Day3
java·开发语言·后端·intellij-idea
子榆.16 分钟前
CANN自定义GEMM算子(Ascend C手写高性能矩阵乘法)
c语言·开发语言·矩阵
L_090720 分钟前
【C++】数据结构之哈希表(散列表)
数据结构·c++·散列表
LB211227 分钟前
C++通讯录课设(西安石油大学)
开发语言·c++·算法
王老师青少年编程28 分钟前
2026年全国青少年信息素养大赛初赛真题(算法应用主题赛C++初中组初赛真题1:文末附答案和解析)
c++·真题·全国青少年信息素养大赛·初赛·2026年·算法应用主题赛·初中组