new 演算子を使用して作成されたオブジェクトの初期化

C++new 演算子を使用して作成されたオブジェクトは、いくつかの方法で初期化できます。 クラス以外のオブジェクトまたはコンストラクターなしのクラス・オブジェクトの場合は 、( ) または () を指定することによって 、new 初期化指定子 の式が new 式に提供されます。

次に例を示します。

double* pi = new double(3.1415926);
int* score = new int(89);
float* unknown = new float();

クラスがデフォルトのコンストラクターを持っていない場合、 そのクラスの任意のオブジェクトが割り振られるときには、new 初期化指定子が提供される必要があります。 new 初期化指定子の引き数は、コンストラクターの引き数と一致している必要があります。

配列には、初期化指定子を指定できません。 クラスにデフォルトのコンストラクターがある場合だけ、クラス・オブジェクトの配列を初期化できます。 コンストラクターを呼び出して、各配列エレメント (クラス・オブジェクト) を初期化します。

new 初期化指定子を使用した初期化は 、new がストレージを正常に割り振った場合にのみ実行されます。

関連参照

IBM Copyright 2003