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

本篇完!

相关推荐
kk哥889910 分钟前
C++ 对象 核心介绍
java·jvm·c++
helloworddm12 分钟前
WinUI3 主线程不要执行耗时操作的原因
c++
嘉琪00114 分钟前
Vue3+JS 高级前端面试题
开发语言·前端·javascript
xunyan623421 分钟前
面向对象(下)-接口的理解
java·开发语言
遥不可及~~斌30 分钟前
Java 面试题集 -- 001
java·开发语言
2501_9216494932 分钟前
如何获取美股实时行情:Python 量化交易指南
开发语言·后端·python·websocket·金融
无能者狂怒1 小时前
YOLO C++ Onnx Opencv项目配置指南
c++·opencv·yolo
集智飞行1 小时前
c++函数传参的几种推荐方式
开发语言·c++
鼾声鼾语2 小时前
matlab的ros2发布的消息,局域网内其他设备收不到情况吗?但是matlab可以订阅其他局域网的ros2发布的消息(问题总结)
开发语言·人工智能·深度学习·算法·matlab·isaaclab
麦麦鸡腿堡2 小时前
Java_类的加载
java·开发语言