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; 
    }

本篇完!

相关推荐
汽车软件工程师00118 小时前
vector autosar配置一个CAN接收报文,RTE层发现并未接收到信号,怎样查这个问题
开发语言·autosar
寻寻觅觅☆18 小时前
东华OJ-基础题-122-循环数(C++)-难度难
开发语言·c++
王老师青少年编程18 小时前
2022年信奥赛C++提高组csp-s初赛真题及答案解析(完善程序第2题)
c++·题解·真题·初赛·信奥赛·csp-s·提高组
Zachery Pole18 小时前
JAVA_04_判断与循环
java·开发语言
plus4s18 小时前
2月13日(73-75题)
数据结构·c++·算法
懒惰成性的18 小时前
11.Java的String类
java·开发语言
傻啦嘿哟18 小时前
Python列表排序:用key参数掌控排序规则
java·开发语言
你的冰西瓜19 小时前
C++ STL算法——修改序列算法
开发语言·c++·算法·stl
仰泳的熊猫19 小时前
题目1465:蓝桥杯基础练习VIP-回形取数
数据结构·c++·算法·蓝桥杯
froginwe1119 小时前
装饰器模式
开发语言