gpt4 book ai didi

c++ - 将 vector 的 vector 的第二维设置为零 (C++)

转载 作者:行者123 更新时间:2023-11-30 03:03:56 25 4
gpt4 key购买 nike

有一个 vector 的 vector :

std::vector <std::vector <float> > VoV;
VoV.resize(num); // num is determined at run-time
for (int i=0; i<num; ++i) {

VoV[i].resize(3); // initializing to zero
}

我想在一些操作后将所有三个元素设置为零。我的意思是,我知道最初它们会被设置为零,但是它们的值会在一段时间后发生变化,我想再次将它们全部设置为零。那么,下面的说法正确吗?是否有效,是否有更好的方法?

std::fill(VoV.begin(), VoV.end(), 0.f);

最佳答案

您可以通过多种方式将所有数据设置为零。最简单的可能是:

VoV = std::vector<std::vector<float> >(num, std::vector<float>(3, 0.));

或者,

std::fill(VoV.begin(), VoV.end(), std::vector<float>(3, 0.));

或者,

for(std::vector<float>& v : VoV)
std::fill(v.begin(), v.end(), 0.);

甚至:

for(auto& v : Vov)
for(auto& f : v)
f = 0;

注意:我还没有测试过这些。

关于c++ - 将 vector 的 vector 的第二维设置为零 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9099820/

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