私は以下の機能を持っています。これは単なるコンストラクタです。それは、2次元浮動ポインタ配列のためにメモリを割り当てることです。私はこの配列をvector
インスタンスに追加するかどうか、配列の元の初期化を削除するかどうかを知りたい場合は、ベクトル内の配列も削除しますか?コードはちょうど壊れてベクターにプッシュされた配列がメモリを失うため、削除されますか?
Evaluator::Evaluator(int row, Column col) {
this->verticies = new std::vector();
float* matrix = NULL;
switch(col) {
case ONE:
matrix = new float[row][1];
break;
case TWO:
matrix = new float[row][2];
break;
case THREE:
matrix = new float[row][3];
break;
case FOUR:
matrix = new float[row][4];
break;
}
this->verticies->push_back(matrix);
delete matrix;
}
なぜ私は1つの場所でベクトルを使用し、もう1つの配列でベクトルを使用するのが不思議ですか? – dasblinkenlight
私はコンテナに行列を格納しています。トリプル次元配列を使用する方が理にかなっていますか? – zeboidlund
入れ子になったベクトルを使用する方が意味があると思います。深いネスティングの醜い構文と戦うためには、ベクトルの中のベクトルを行列としてtypedefし、それから行列のベクトルを作ります。 – dasblinkenlight