1. 程式人生 > >C++的STL中accumulate的用法

C++的STL中accumulate的用法

所需的標頭檔案:#include <numeric>

可以用來計算特定範圍內所有元素的和  ,或者平均值。

 

 std::vector <Eigen::Vector3d> vec_points_src;//向量

 size_t num_pts = vec_points_src.size();

 

//tmp 是向量vec_points_src內每一維的和
 Eigen::Vector3d tmp = std::accumulate(vec_points_src.begin(), vec_points_src.end(), Eigen::Vector3d(0.0, 0.0, 0.0));

 

//meanCoord 是向量vec_points_src內每一維的平均值
 Eigen::Vector3d meanCoord = std::accumulate(vec_points_src.begin(), vec_points_src.end(), Eigen::Vector3d(0.0, 0.0, 0.0)) / /double(num_pts);