Ric*_*ley 7 c++ constructor stl 2d vector
是否可以初始化这样的2D矢量(这里5x4 2D矢量中的所有值都被初始化为3)?
std::vector<std::vector<int> > foo(5, std::vector<int>(4, 3));
Run Code Online (Sandbox Code Playgroud)
这似乎表现得很好,但是我在网上看到的每个人似乎都建议使用for循环和push_back()来初始化这样的向量.我最初担心这里的所有行都会指向相同的向量,但事实并非如此.我错过了什么吗?
Eri*_*rik 10
这是完全有效的 - 你将得到一个2D向量([5,4]元素),每个元素初始化为3.
对于大多数其他情况(例如,您需要在不同元素中使用不同的值),您不能使用任何单行 - 因此需要循环.
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |