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...