Cpp New演算子 新しいページはコチラ
提供: yonewiki
(→new演算子) |
(→new演算子) |
||
30行: | 30行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
配列の確保は上記のように行います。動的なメモリ確保では、配列の大きさに変数を設定することができます。静的なメモリ確保を行う配列では、コンパイルエラーとなるような指定が可能です。 | 配列の確保は上記のように行います。動的なメモリ確保では、配列の大きさに変数を設定することができます。静的なメモリ確保を行う配列では、コンパイルエラーとなるような指定が可能です。 | ||
+ | |||
+ | new演算子の後ろの型名に引数をつけるパターンもあり、この場合はコンストラクタが準備されていれば、引数に対応したコンストラクタが動作して初期化がなされます。引数を省略している場合はデフォルトコンストラクタが動作していると考えてよいでしょう。new演算子の後ろにはクラス名を記述することもできます。動的にクラス変数を生成することもできます。intの場合は引数に一つの整数値を付与することができます。したがって以下のようにnew演算子を使うことができます。 | ||
+ | 例4 | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | int *pnReturnValue = new int(100); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 引数無しは以下のようにも記述できます。 | ||
+ | 例5 | ||
+ | <syntaxhighlight lang="cpp"> | ||
+ | int *pnReturnValue = new int(); | ||
+ | </syntaxhighlight> | ||
+ | もちろんコンストラクタが準備されていなければ、対応した引数を付与しない限りnew演算子による動的な変数の生成処理は失敗します。具体的には個々のクラスや型名の生成方法・コンストラクタに関する仕様書や説明書を参照して下さい。 |