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

本篇完!

相关推荐
9ilk7 分钟前
【C++】 --- 哈希
c++·后端·算法·哈希算法
AGANCUDA13 分钟前
qt使用osg显示pcd点云的例子
开发语言·qt
小邓   ༽13 分钟前
50道C++编程练习题及解答-C编程例题
c语言·汇编·c++·编程练习·c语言练习题
2301_8156864514 分钟前
extern
java·开发语言
报错小能手17 分钟前
数据结构 定长顺序表
数据结构·c++
q***563818 分钟前
Java进阶-SPI机制
java·开发语言
qq_4192032330 分钟前
深浅拷贝、STL迭代器失效
c++·深浅拷贝·stl迭代器失效
g***B73832 分钟前
Rust在网络中的Tokio
开发语言·网络·rust
寻找华年的锦瑟41 分钟前
Qt-侧边栏布局
开发语言·qt
1560820721941 分钟前
QT的ComboBox使用QToolTip显示提示信息
开发语言