gpt4 book ai didi

c++:哪些函数给出数组的总和?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:06:52 25 4
gpt4 key购买 nike

我正在寻找 C++ 中的函数,以返回数组所有元素的总和,类似于我们在 Matlab 中的函数,即 sum(A),其中 A 是一个数组。我知道可以简单地做一个 for 循环,但是没有任何函数可以这样做吗,例如在“std::”中?

最佳答案

这个函数叫做 std::accumulate , 并居住在 <numeric> .

它适用于标准库容器(能够提供 InputIterator ,所以几乎每一个)和 C 风格的数组 - 如果您使用 std::beginstd::end .否则container.begin()/end()当然很好;有关详细信息,请参阅示例使用。

需要注意的是,它提供了两个重载,其中一个添加了一个 BinaryOperation .默认为 std::plus在另一个版本中。这在实践中意味着它变成了 fold。或 reduce来自其他语言。


@BoBTFish 提供的使用 C 风格数组的示例 - ideone link .

#include <iostream>
#include <iterator>
#include <numeric>

int main()
{
int nums[] = {1,5,3,2,7,8,100,3};
std::cout
<< std::accumulate(std::begin(nums),
std::end(nums),
0)
<< '\n';
}

关于c++:哪些函数给出数组的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28346763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com