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

本篇完!

相关推荐
CoderCodingNo9 分钟前
【GESP】C++一级真题 luogu-B4410 [GESP202509 一级] 金字塔
开发语言·c++
超级大福宝9 分钟前
C++中1 << 31 - 1相当于INT_MAX吗?
c语言·c++
free-elcmacom15 分钟前
Python实战项目<2>使用Graphviz绘制流程框图
开发语言·python·graphviz
ljuncong22 分钟前
python的装饰器怎么使用
开发语言·python
alibli23 分钟前
一文学会设计模式之结构型模式及最佳实现
c++·设计模式
A7bert77724 分钟前
【YOLOv5seg部署RK3588】模型训练→转换RKNN→开发板部署
linux·c++·人工智能·深度学习·yolo·目标检测
2501_9448755132 分钟前
Go后端工程师
开发语言·后端·golang
听风吟丶39 分钟前
Java 反射机制深度解析:从原理到实战应用与性能优化
java·开发语言·性能优化
chen_note44 分钟前
Python面向对象、并发编程、网络编程
开发语言·python·网络编程·面向对象·并发编程
她说彩礼65万1 小时前
C# params使用
开发语言·c#·log4j