3

次の方法で、1d ベクトルを何らかの値で初期化できることを知っています。

vector<int> vec(10, 100); //creates a vector of size 10 and each element = 100

今、私は 2d ベクトルで同じことをしたいと思います。列のサイズが指定されていないため、次のようにするとエラーが発生することがわかっています。

vector<vector<int> > vec(10, 100);

それで、これを達成する方法はありますか?また、2 次元ベクトル (つまり、nxn グリッド) の各ベクトルの列サイズを同じに保ちたいと考えています。

または、これを達成するために何らかの方法で「std::fill()」関数を使用できますか? また、この機能を nxm グリッドに拡張できますか?

4

1 に答える 1

8
vector<vector<int>> vec(10, vector<int>(10, 100));
                //       n              m   value

これにより、サイズが 10 で要素が 100 に初期化された 10 個のベクトルのベクトルが作成されます。

于 2013-10-25T12:14:28.480 に答える