new 演算子を使用して作成されたオブジェクトは、いくつかの方法で初期化できます。
クラス以外のオブジェクトまたはコンストラクターなしのクラス・オブジェクトの場合は
、( 式 ) または () を指定することによって
、new 初期化指定子 の式が new 式に提供されます。
次に例を示します。
double* pi = new double(3.1415926); int* score = new int(89); float* unknown = new float();
クラスがデフォルトのコンストラクターを持っていない場合、 そのクラスの任意のオブジェクトが割り振られるときには、new 初期化指定子が提供される必要があります。 new 初期化指定子の引き数は、コンストラクターの引き数と一致している必要があります。
配列には、初期化指定子を指定できません。 クラスにデフォルトのコンストラクターがある場合だけ、クラス・オブジェクトの配列を初期化できます。 コンストラクターを呼び出して、各配列エレメント (クラス・オブジェクト) を初期化します。
new 初期化指定子を使用した初期化は 、new がストレージを正常に割り振った場合にのみ実行されます。
関連参照