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

本篇完!

相关推荐
无限进步_13 小时前
21. 合并两个有序链表 - 题解与详细分析
c语言·开发语言·数据结构·git·链表·github·visual studio
肆忆_13 小时前
Day 04|线程安全引用计数:让 SharedPtr 支持并发拷贝/析构
c++
神奇大叔13 小时前
Java 配置文件记录
java·开发语言
三水彡彡彡彡13 小时前
C++拷贝函数:const与引用的高效实践
开发语言·c++
悠闲蜗牛�13 小时前
深入浅出Spring Boot 3.x:新特性全解析与实战指南
开发语言·python
xinhuanjieyi14 小时前
python获取租房70页信息,为了安全隐去了真实网址
开发语言·python
csbysj202014 小时前
Vue3 模板语法
开发语言
D_evil__14 小时前
【Effective Modern C++】第七章 并发API:35. 优先考虑基于任务的编程而非基于线程的编程
c++
柒.梧.14 小时前
零基础吃透Java核心基础:JDK/JRE/JVM全解析+跨平台原理
java·开发语言·jvm