给出声明c ++之后的维度

时间:2012-10-30 14:16:55

标签: c++ vector initialization declaration

我希望在通过其他函数声明后给出向量的维数。
这是因为我后来会知道矢量的维数。

如果不使用循环,我有什么方法可以做到这一点。
e.g

std::vector<std::vector<int>>my_vector;

........
........
........

在其他一些函数中,我将声明它的尺寸。

my_vector(2,5);

类似的......

2 个答案:

答案 0 :(得分:3)

my_vector.resize(2, std::vector<int>(5));

Live example.

答案 1 :(得分:2)

my_vector = std::vector< std::vector<int> >(2, std::vector<int>(5));

或在C ++ 11中,如Xeo所说:

my_vector = {2, std::vector<int>(5)};

我认为这种方法比调整大小更好,因为如果你多次改变大小,最终可能会出现锯齿状矩阵:

my_vector.resize(1, std::vector<int>(3));
my_vector.resize(2, std::vector<int>(5));

现在第一行是3个元素,第二行是5个元素。