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

本篇完!

相关推荐
疯狂学习GIS4 分钟前
Windows配置VS Code详细流程
c++·学术工作效率
__BMGT()5 分钟前
C++ QT图片查看器
前端·c++·qt
关于不上作者榜就原神启动那件事18 分钟前
Java基础学习
java·开发语言·学习
Echo``22 分钟前
1:OpenCV—图像基础
c++·图像处理·人工智能·opencv·算法·计算机视觉·视觉检测
橙子1991101622 分钟前
在 Kotlin 中,什么是解构,如何使用?
android·开发语言·kotlin
Q_Q196328847538 分钟前
python的家教课程管理系统
开发语言·spring boot·python·django·flask·node.js·php
Black_Cat_yyds44 分钟前
设计杂谈-工厂模式
java·开发语言
进击的雷神1 小时前
Perl语言深度考查:从文本处理到正则表达式的全面掌握
开发语言·后端·scala
ALex_zry1 小时前
Ubuntu 20.04 C++开发环境搭建指南(2025版)
linux·c++·ubuntu
进击的雷神1 小时前
Perl测试起步:从零到精通的完整指南
开发语言·后端·scala