永发信息网

C++:accumulate(list1.begin(), list1.end(),0);这里的第三个参数是什么呢?

答案:3  悬赏:50  手机版
解决时间 2021-11-27 20:31
C++:accumulate(list1.begin(), list1.end(),0);这里的第三个参数是什么呢?
最佳答案
首先,accumulate是用于累计计算的函数,默认情况下是求和。而其中第三个参数便是和的初始值。如果数据为a0, ..., an,则accumulate返回a0 + ... + an + 初始值。
事实上,accumulate有两个版本:
template< class InputIt, class T >T accumulate( InputIt first, InputIt last, T init );
template< class InputIt, class T, class BinaryOperation >T accumulate( InputIt first, InputIt last, T init, BinaryOperation op )第一个版本(即你使用的版本),相当于用加法操作调用第二个版本,即:op(op(...op(a0, a1), ...an), 初始值)。因而,也可以通过如下方式做累乘(假设数据类型为int):
std::accumulate(list1.begin(), list1.end(), 1, std::multiplies());
全部回答
第三个参数是累加的初值,比如sum = accumulate(list1.begin(), list1.end(),10);那么sum的值就是容器里所有元素的值再加上这第三个参数10。同时返回值的类型与第三个参数的类型相同。希望可以帮到你,满意请采纳,谢谢!
将list1里面的值累加,第三个参数表示累加时初始值为0
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有一款手机音乐游戏,单机的,游戏类似节奏大
女友对我说把握当下什么意思
客家盐酒鸡怎么做
上海小学五年级英语基数词序数词练习
集装箱规格中字母20F,40HQ,代表什么意思
什么是文化认同感?
熟悉扬州的人看看!本人扬州人.请问渡江南路
凉拌莜面的汤料怎么做
9.74乘以二点四用竖式包括验算怎么写
FLASH中,如何把线顺时针转动,然后转动过的地
几个价格:一套房从准备出售到真正卖出
魅族多任务窗口在哪里
金石广告文印地址好找么,我有些事要过去,
曾姓在几千年前才有的
求吉祥夜的作品集 百度云 尤其是京城三少系列
推荐资讯
如何解决MySQL超过最大连接数问题
BRAVE10的故事介绍
火影手游疾风传周年庆都有什么奖励
金喜善饰演一代女皇武则天 限韩令到底坐实了
牛头肉配牛舌取一个菜名
百度wwW6bbxx杀毒,点回车了6bbxxcom怎么出现
音素怎么读?
桃梅沟怎么去啊,有知道地址的么
君主专制国家全世界还有哪些?
我们古代的时候有个玉玺现在在哪里呢?
什么是cpu封装 PoP BGA
免维护电瓶上面小孔中流出电瓶水是什么情况
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?