new 演算子の配置構文

提供: Appmethod Topics
移動先: 案内検索

new および delete 演算子:インデックス への移動


operator new( ) の配置構文は,割り当て演算子を適切な引数でオーバーロードした場合のみ使えます。プログラムの開始時点で設定したメモリ領域を使用または再利用したいときには,配置構文が使えます。

オーバーロードされた ::new( ) 演算子を使って,割り当てを配置する位置を指定するときは,ユーザーの責任で割り当てを解除しなければなりません。なぜなら,独自の割り当て演算子を呼び出した場合は,グローバルな ::operator delete( ) では割り当てを削除できないためです。

メモリを解放するには,デストラクタを明示的に呼び出します。この方法でのメモリの解放は,特定の状況下だけで,細心の注意を払って行ってください。スタックに構築されているオブジェクトがスコープの外に出る前に,デストラクタを明示的に呼び出す場合は,スタックフレームが解放されるときにデストラクタが再度呼び出されます。

関連項目