我知道在C++11中,他们添加了将变量初始化为零的功能
double number = {}; // number = 0
int data{}; // data = 0有没有类似的方法将固定长度的std::vector初始化为全零?
发布于 2012-10-28 23:28:12
为此,您不需要初始化列表:
std::vector<int> vector1(length, 0);
std::vector<double> vector2(length, 0.0);发布于 2020-05-04 03:08:31
初始化具有结构、类或联合的向量可以通过以下方式完成
std::vector<SomeStruct> someStructVect(length);
memset(someStructVect.data(), 0, sizeof(SomeStruct)*length);发布于 2022-01-22 06:58:22
在最新版本的c++中,您可以使用std::fill。
我注意到有人提到它作为评论。但应该是一个答案,并鼓励使用专家提到的标准库算法,这些算法经过了很好的测试和验证。
std::vector<int> vecOfInts;
vecOfInts.resize(10);
std::fill(vecOfInts.begin(), vecOfInts.end(), 0);
for (auto const& intVal : vecOfInts)
{
std::cout << intVal << " ";
}https://stackoverflow.com/questions/13110130
复制相似问题