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

本篇完!

相关推荐
qq_466302451 小时前
vs2008 Hotlink实时数据读取
c++·qt
代码or搬砖2 小时前
String字符串
android·java·开发语言
阿达King哥2 小时前
关于C++中的typedef typename的含义
c++
leo__5202 小时前
基于两步成像算法的聚束模式SAR MATLAB实现
开发语言·算法·matlab
Macbethad3 小时前
自动化测试技术报告
开发语言·lua
不会画画的画师3 小时前
Go开发指南:io/ioutil包应用和迁移指南
开发语言·后端·golang
2503_928411563 小时前
12.22 wxml语法
开发语言·前端·javascript
咔咔咔的3 小时前
3652. 按策略买卖股票的最佳时机
c++
5980354153 小时前
【java工具类】小数、整数转中文大写
android·java·开发语言
JIngJaneIL4 小时前
基于java + vue个人博客系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot