私は、削除されたポインタが指し示すメモリがゼロで覆われるべきであると思いました(わからない) それでもint値10と同じアドレスを指しています。どうしたの?削除されたポインタがまだ古いデータを指している
int *p = new int;
*p = 10;
cout << *p << endl; //10
cout << p << endl; //0x7fafc3c02e80
delete p;
cout << *p << endl; //10
cout << &(*p) << endl; //0x7fafc3c02e80!
return 0;
ポインタを削除しても、指していたアドレスは変更されません。一度割り当てられたメモリを解放するだけで、再度使用することができます。また、削除されたポインタの逆参照は未定義の動作です。 – xinaiz
クレジットカード番号は紙に書きます。あなたはそれを粉砕してごみ箱に投げます。他の人がそれを取り出し、紙を解き放ち、あなたのクレジットカード番号を読みます。どうしたの? (部分的にC++の場合で起こっても、任意のしわは通常、完璧なアナロジーがありませんないので。) –
ポインタ手段を削除する(HTTP [ 'メモリはダイナミックmemory.'の他の要求のために再び使用可能になった]:// WWW。 cplusplus.com/doc/tutorial/dynamic/)。 – tchelidze