我看到几个可以像这样初始化2-dim向量的地方(e.g
vector<vector<int> > vec(3, vector<int>(2, 0));
我在想的是,此代码的评估结果如下
auto tmp = vector<int>(2, 0);
vector<vector<int> > vec(3, tmp);
如果我是正确的,那么vec
的3个元素都引用相同的引用。这意味着修改vec[0][1]
也会修改vec[1][1]
。
如果我错了,C ++如何使vec
中每个元素的初始化成为不同的引用?