我想创建一个多维数组,让我们说m
x n
我可以使用vector
的填充构造函数来完成类似的事情吗?
例如:
vector<vector<int>> foo(n, vector<int>(m));
我在StackOverflow上看到的最接近的事情是:How do I declare and initialize a 2d int vector in C++?但看起来仍有一些问题是它是否合法。
我正在使用Visual Studio 2013,它似乎工作正常。
修改
我也会在这里猜测,这会创建一个大小vector
的临时m
副本n
次,然后将其销毁。
编译器会优化那个临时构造吗?我希望答案是肯定的,因为在这里使用move
似乎无法实现我的希望。