STL中accumulate的用法

2021-09-24 11:42:30 字數 922 閱讀 4524

accumulate定義在#include中,作用有兩個,乙個是累加求和,另乙個是自定義型別資料的處理

int sum = accumulate(vec.begin() , vec.end() , 累加的初始值);

例:① 數值相加

int sum = accumulate(vec.begin() , vec.end() , 42);

② 字串拼接

string sum = accumulate(v.begin() , v.end() , string(" "));

使用lambda表示式,將自定義結構體struct grade中的grade相加,求總和。

#include

#include

#include

#include

#include

using namespace std;

struct grade

;vector subject =,,

};intmain()

);cout <<

"sum1 = "

<< sum1 << endl;

// 方法2:for_each

int sum2 =0;

//累加的初始值 = 0

for_each

(subject.

begin()

, subject.

end(),

[&sum2]

(grade b)

->

void

// sum2作為引用形參傳遞);

cout <<

"sum2 = "

<< sum2 << endl;

system

("pause");

return0;

}

C 的STL中accumulate的用法

所需的標頭檔案 include 可以用來計算特定範圍內所有元素的和 或者平均值。std vector vec points src 向量 size t num pts vec points src.size tmp 是向量vec points src內每一維的和 eigen vector3d tmp...

stl演算法之accumulate

首先包含 include 然後看看 void main clock t t4 clock cout nsum3 nsum3 time t4 t3 endl system pause 結果 從結果可以看出使用accumulate的演算法比傳統迴圈累加需要的時間少。所以推介使用但僅是容器的情況下快,我在...

C 中accumulate的用法

定義於標頭檔案 numeric template class inputit class t constexpr t accumulate inputit first,inputit last,t init template class inputit classt,class binaryoper...