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

本篇完!

相关推荐
fpcc14 小时前
跟我学C++中级篇—虚函数的优化
c++
智者知已应修善业14 小时前
【51单片机独立按键控制数码管自增自减】2023-10-5
c++·经验分享·笔记·算法·51单片机
凯瑟琳.奥古斯特14 小时前
页面置换算法详解与对比
开发语言·分布式·职场和发展
小杍随笔14 小时前
Axum+Leptos全栈集成实战
开发语言·后端·架构·rust
2601_9536603714 小时前
Java Map集合详解与实战
java·开发语言·python
ComputerInBook14 小时前
C++中“概念”(concept)之含义
开发语言·c++·概念·concept
程序员老舅14 小时前
Linux:谁把根目录卸载了?
linux·c++·容器·linux内核·文件系统·根目录
云小逸14 小时前
【 VS2013 集成 Qt5.7.1 踩坑记录:moc/uic/rcc 报“系统找不到指定的路径”怎么解决?】
开发语言·windows·qt
石山代码14 小时前
c++类型判断
开发语言·c++
froginwe1114 小时前
传输对象模式
开发语言