首頁 > 後端開發 > C++ > 如何在 C 中有效地求和 std::vector 的元素?

如何在 C 中有效地求和 std::vector 的元素?

Susan Sarandon
發布: 2024-12-01 01:52:10
原創
651 人瀏覽過

How Can I Efficiently Sum the Elements of a std::vector in C  ?

std::vector 中元素的求和技術

求 std::vector 中元素的總和是一個常見的操作。以下是各種方法:

C 03

  • 經典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);
    登入後複製

C 11以上

  • 自動型追蹤:

    #include <numeric>
    sum_of_elems = std::accumulate(vector.begin(), vector.end(),
                                  decltype(vector)::value_type(0));
    登入後複製
  • _each:

    std::for_each(vector.begin(), vector.end(), [&] (int n) {
      sum_of_elems += n;
    });
    登入後複製
  • 範圍-基於循環:

    for (auto& n : vector)
      sum_of_elems += n;
    登入後複製

  • #include <numeric>
    auto result = std::reduce(v.begin(), v.end());
    登入後複製
std::reduce:

此函數根據以下內容推斷此函數根據以下內容推論結果類型向量的元素類型,允許自動處理不同的數字類型。

以上是如何在 C 中有效地求和 std::vector 的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板