Contact という名前のクラスがあり、127 行 20 列のマトリックスのようなオブジェクトへのポインターのデータ構造を構築したいと考えています。この方法で std::vector クラスを使用しようとしました
std::vector < std::vector<Contact* > > matrix (127, std::vector < Contact* > (20));
次に、ヘッダーで次のように宣言した
std::vector<std::vector<Contact* > > Buckets;
以前に初期化して宣言したマトリックスをそれに割り当てます(このステップは、基本的に、より明確で短い方法でそれを行う方法がわからないためです)。
Buckets = matrix;
しかし、次のような push_back 関数を使用して
Buckets[pot].push_back(cont_temp);
しばらくするとエラーが発生し (「'std::bad_alloc' のインスタンスをスローした後に終了します」)、修正方法がわかりません。
マトリックスをインスタンス化して初期化するための他の良い方法はありますか? ベクトルのベクトル (boost::multiarray ..?) を使用する代わりに、他の解決策を提案しますか?
ありがとう(ばかげた質問でごめんなさい、私は貧しい学生です:)
編集:エラーが見つかりました(範囲外の割り当てのみ)。この種のデータ構造に関する一般的な提案があれば、私はまだここにいます...