假设我拥有的向量是,我想获取累积值向量。我猜想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
向量为空。在这种情况下,vvSum.begin()
是结束迭代器,因此不能用于输出。
您可以调用vvSum.resize(vv.size());
使其具有与原始大小相同的大小,或使用std::back_inserter(vvSum)
迭代器,该迭代器可根据需要增加容器的大小。
关于c++ - 使用partial_sum累积的 vector 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10999571/