-14

C++でポインタを削除するが、ポインタが指しているオブジェクトを削除しない方法は? 前もって感謝します。

4

2 に答える 2

2

ポインターは範囲外になります。ポインタを「削除」する必要はありません。ポインタが指すメモリを解放するだけで済みます。

于 2013-09-05T19:01:09.853 に答える
0

明示的なポインターを削除することはありません(動的に割り当てない限り)。スタック上に作成され、通常のスタック変数の有効期間が処理される方法で削除されます。

int* avoid_leaker;
{
int* i_ptr = new int(7);
avoid_leaker = i_ptr; 
} // here i_ptr is gone but new int created on heap remains!
  // we assigned it to avoid_leaker to avoid  leak

http://en.wikipedia.org/wiki/Memory_leak

于 2013-09-05T19:02:16.610 に答える