0

ベクトルを作成したいと思います。このベクトルの各セルに、定義した特定の構造体を含む別のベクトルを保持したいと思います。どうすればいいですか?メイン ベクトルの各セルから他の各ベクトル (定義した構造体を含む) へのポインターを定義する必要がありますか? ポインタを使用してベクトルが作成されたメモリにアクセスすることになっていますか?

これは私がそれをやろうと思った方法ですが、正直なところ、私が何をしているのかよくわかりません:

vector<*vector> *vec = new vector<vector>

注:私はC ++の初心者であり、プログラミング全般に慣れていないので、これについては簡単にしてください。

どうもありがとう

4

3 に答える 3

4

一般的なルールは、必要な場合を除き、ポインター (および動的割り当て) を使用しないことです。したがって、これを簡単に行うことができます:

std::vector<std::vector<your_struct> > vector_of_vectors;
于 2013-11-04T21:01:28.910 に答える
1

何かのベクトルをインスタンス化するのと同じように:

std::vector<std::vector<MyType>> v;

ポインタはそれとは何の関係もありません。ポインターのベクトルが必要な場合にのみ、ポインターのベクトルを使用します。

于 2013-11-04T21:01:35.850 に答える
1

ポインターは必要ありません。単に使用できます

std::vector<std::vector<int>> vec( 100 ); // create a vector of 100 vector<int> 
vec[42].push_back(1764); // add an element to the 43rd vector<int>
于 2013-11-04T21:02:16.517 に答える