std::vector 内のすべての要素の合計を求めることは、複数の効率的なアプローチを使用する一般的なタスクです。以下にいくつかのオプションがあります:
For ループ:
int sum_of_elems = 0; for (std::vector<int>::iterator it = vector.begin(); it != vector.end(); ++it) sum_of_elems += *it;
標準アルゴリズム:
#include <numeric> sum_of_elems = std::accumulate(vector.begin(), vector.end(), 0);
注: 最後の引数の型によって結果の型が決まることに注意してください。
自動タイプ処理:
#include <numeric> sum_of_elems = std::accumulate(vector.begin(), vector.end(), decltype(vector)::value_type(0));
std::for_each:
std::for_each(vector.begin(), vector.end(), [&](int n) { sum_of_elems += n; });
範囲ベースの For ループ:
for (auto& n : vector) sum_of_elems += n;
std::reduce:
#include <numeric> auto result = std::reduce(v.begin(), v.end());
std::reduce は結果の型推論を処理し、大規模なコレクションの並列実行機能を提供します。
以上がC で std::vector の要素を合計する最良の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。