1

私がやっていることについてフィードバックが得られるかどうか、そしてそれが悪いジュジュかどうかを考えているだけです.

2D 配列 (ダブル インダイレクション ポインター) を返すメンバー関数があり、次のようになります...

int** ClassName::GetArr() const
{
   return arr;
}

...そして、私が使用するのはそのようなものです...

if (my_class_object.GetArr()[i][j] == 1) // do something

...これでよろしいですか?

(そして、おそらくベクトルを使用する必要がありますが、問題は残ります!)

4

5 に答える 5

0

配列が double へのポインターの配列として割り当てられ、各行が 2 番目のレベルに割り当てられている場合は問題ありません。

配列が両方の次元で完全に割り当てられていない場合、期待どおりに機能する可能性は低く、配列にアクセスしようとすると「奇妙なこと」が発生します。

を使用std::vector<std::vector<double>>& GetArr()すると、はるかに簡単で安全になります。

于 2013-09-02T16:42:52.377 に答える