配列に対する delete 演算子
new および delete 演算子:インデックス への移動
配列は operator delete[]()
を使って削除します。配列を削除するときの構文は
delete [] expression
を使います。
char * p; void func() { p = new char[10]; // 10 文字を割り当て delete[] p; // 10 文字を解除 }
初期の C++ コンパイラでは,delete 式で配列サイズを指定する必要があります。従来のコードを処理するため,コンパイラは警告を出し,指定してあるサイズを無視します。たとえば,上の例が delete[10] p
となっていると,コンパイル時に次のような警告が出ます。
Warning: Array size for 'delete' ignored in function func() (警告: 'delete' に指定した配列サイズは無視される)