0

私のプログラムでは、次の double の配列があります: a1、a2、...、am; b1、b2、...、bm; c1、c2、...、cm; これらはすべて長さ N のクラスのメンバーであり、m と N は実行時に既知です。これらを a、b、および c と名付けたのは、これらが異なる意味を持ち、クラス外でアクセスする方法だからです。それらにメモリを割り当てる最良の方法は何だろうか。私が考えていた:

1) すべてを 1 つの大きなチャンクに割り当てる。.. double *ALL = new double[3*N*m] のようなもので、メンバー関数がポインター演算を使用して要求された部分へのポインターを返すようにします。

2) サイズがそれぞれ m*N の 2D 配列 A、B、および C を作成します。

3) std::vector を使用しますか? しかし、m は実行時にわかっているので、ベクトルのベクトルが必要です。

または、私が何を使用するかは問題ではありませんか?私はちょうど良い一般的な慣行は何だろうと思っています。

4

3 に答える 3