【发布时间】:2020-01-20 16:58:22
【问题描述】:
首先很抱歉,如果它是重复的,我还没有找到我需要的东西。
问题是如何用空值初始化二维向量。
为了我的目的,我写:
vector<vector<int>> Example={{},{},{}};
所以我可以写例如:
for(int i=0;i< Example.size();i++)
Example[i].push_back(i);
现在我该怎么写这个东西:
vector<vector<int>> Example={{},{},{}};
以一种聪明(更正确)的方式?
【问题讨论】:
-
vector<vector<int>> Example(3);. -
要知道的是,向量总是只存储初始化的对象或值。要对此进行试验,请编写一个在其无参数(默认)构造函数中打印某些内容的类,然后创建此类的向量。如果你在那个向量上使用 resize(10),你会看到构造函数被调用了 10 次。如果您直接使用 10 个元素(如此处的答案建议)创建向量,则相同。整数的默认“构造函数”仅为 0。这是与原生数组的不同之处,它可以为您提供垃圾内存而不是默认初始化值。
标签: c++ vector initialization