0

他の関数で宣言した後、ベクトルの次元を指定したいと思います。
これは、後でベクトルの次元を知るようになるためです。

ループを使用せずにそれを行う方法はありますか。
例えば

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

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

他の関数で、その次元を宣言します。

my_vector(2,5);

そんな感じ....

4

2 に答える 2

3

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

実例。

于 2012-10-30T14:20:46.837 に答える
2
my_vector = std::vector< std::vector<int> >(2, std::vector<int>(5));

または Xeo が指摘するように C++11 で:

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

サイズを数回変更すると、ぎざぎざのマトリックスになる可能性があるため、このアプローチはサイズ変更よりも優れていると思います。

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

行 1 は 3 要素、行 2 は 5 要素です。

于 2012-10-30T14:19:49.247 に答える