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

本篇完!

相关推荐
乾元12 分钟前
用 AI 做联动:当应用层出现问题,网络如何被“自动拉入决策回路”
运维·开发语言·网络·人工智能·ci/cd·自动化
xu_yule12 分钟前
算法基础(背包问题)-完全背包
c++·算法·动态规划·完全背包
尘心cx14 分钟前
前端-APIs-day3
开发语言·前端·javascript
gfdhy15 分钟前
【c++】素数详解:概念、定义及高效实现(判断方法 + 筛法)
开发语言·c++·算法·数学建模·ai编程
Dargon28816 分钟前
MATLAB的Simulink的While子系统(动作子系统)
开发语言·matlab·simulink·mbd软件开发
Dargon28816 分钟前
MATLAB的Simulink的可变子系统(选择子系统)
开发语言·matlab
崇山峻岭之间17 分钟前
Matlab学习记录08
开发语言·学习·matlab
lzh2004091922 分钟前
Set 和 Map 深入详解及其区别
数据结构·c++
吴佳浩 Alben22 分钟前
Python入门指南(五) - 为什么选择 FastAPI?
开发语言·python·fastapi
速易达网络23 分钟前
Java Web + Vue 前后端分离跨域解决方案
java·开发语言