重複の可能性:How does delete[] "know" the size of the operand array?delete []は配列のサイズをどのように知っていますか?
の
How does the standard new operator work in c++?
How does delete[] “know” the size of the operand array?
デュープ私が割り当てられたメモリのサイズから[]の数字を削除する方法好奇心旺盛です。私が次のようなことをしたとき:
int* table = new int[5];
delete[] table;
私はテーブルのメモリが解放されていることを理解しています。しかし、別のテーブルへのポインタを再割り当てした場合はどうなりますか?
int* table = new [5];
int* table2 = new [9];
table = table2;
delete[] table;
サイズ5または9のテーブルを解放しますか?私はnew []とdelete []がそのサイズに関する情報をどのように共有しているかに興味があります。あるいは、私はここに欠かせないものを逃しているかもしれないC++よくあるご質問liteの回答の
重複している(多かれ少なかれ)http://stackoverflow.com/questions/377178/how-does-the-standard-new-operator-work-in-c/377208 –
私は同意しません。これはより具体的です。 –
補足として、これは回答に記載されているとおり、これは実装固有のものです。 これは、配列のサイズを抽出する方法、コンパイラからコンパイラ、コンパイラのバージョンからコンパイラのバージョンに変わる可能性があるためです。 –