gpt4 book ai didi

c++ - 使用 partial_sum 累积 vector 值

转载 作者:行者123 更新时间:2023-11-28 00:56:29 26 4
gpt4 key购买 nike

假设我的 vector 是<1, 2, 3>,我想得到累加值 vector <1, 3, 6>。我猜 C++ 函数 partial_sum 就是这样做的。但是当我执行时这个功能不起作用(程序错误)。 partial_sum 使用正确吗?

vector<float> vv, vvSum;
vv.push_back(1); vv.push_back(2); vv.push_back(3);

partial_sum(vv.begin(), vv.end(), vvSum.begin(), plus<float>());

for(unsigned int i = 0; i < vvSum.size(); ++i)
{
cout << vv[i] << " " << endl;
}

最佳答案

不,partial_sum 使用不正确。

vvSum vector 为空。在那种情况下,vvSum.begin() 是一个结束迭代器,因此不能用于输出。

您可以调用 vvSum.resize(vv.size()); 使其与原始大小相同,或使用 std::back_inserter(vvSum) 迭代器,它根据需要增加容器的大小。

关于c++ - 使用 partial_sum 累积 vector 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10999571/

26 4 0
文章推荐: c++ - 使用 istreambuf_iterator<> 将文件内容转换为字符串流
文章推荐: javascript - 单击按钮刷新
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com