C++配列でいくつかの概念を理解するのに少し問題があります。C++オブジェクトの配列を初期化する
私の割り当てで、私は以下のコードのようにしました。私が言うことから、これは[size] Object1オブジェクトのヒープ上にスペースを作成するだけでなく、それらもすべて初期化します。誰かがヒープ上で起こっていることを正確に説明して、ここにスタックできますか?
class Object1 { Private: int dummy; Public: Object1(); }; Object1::Object1() { dummy = 1; } class Foo { private: Object1 * myObject; public: Foo(int size); }; Foo::Foo(int size) { myObject = new Object1[size]; }
オブジェクト1のコンストラクタは、どちらかといえば、スタックやヒープ上に異なっ起こる、その後何、以下のコードのように、パラメータを取っていた場合は? object1の各インスタンスにパラメータを送信するわけではないので、オブジェクトを初期化するか、スペースを作成するだけですか?
class Object1 { Private: int dummy; Public: Object1(int myInt); }; Object1::Object1(int myInt) { dummy = myInt; }
また、以下のコードも見ました。この場合、何が起きていますか?それは上記のケースとどう違うのですか?
myclass *array[10]; for (int i = 0 ; i != 10 ; i++) { array[i] = new myclass(); }
私が割り当てを完了したが、ちょうど私が舞台裏で何が起こっているか理解しておいてくださいしようとしています。
ありがとうございました。