Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
#define SAFE_DELETE(p) {if(NULL != p) {delete p; p = NULL;}}
p を削除した後に p=null が必要な場合は?
必要な場合、なぜそれが必要なのですか?
必要ありません。それは単なる追加のセキュリティです。コンテンツを削除すると、データが無効になります。削除した後に逆参照しようとするpと、未定義の動作にさらされます。に設定することで、このポインターがもはや有効ではないことを明確に示しています (データが解放されたかどうかを確認することはできませんが、 のNULLようなもので簡単に確認できます)。if (p != NULL) {...}
p
NULL
if (p != NULL) {...}