-4
#define SAFE_DELETE(p)              {if(NULL != p) {delete p; p = NULL;}}

p を削除した後に p=null が必要な場合は?

必要な場合、なぜそれが必要なのですか?

4

2 に答える 2

3

必要ありません。それは単なる追加のセキュリティです。コンテンツを削除すると、データが無効になります。削除した後に逆参照しようとするpと、未定義の動作にさらされます。に設定することで、このポインターがもはや有効ではないことを明確に示しています (データが解放されたかどうかを確認することはできませんが、 のNULLようなもので簡単に確認できます)。if (p != NULL) {...}

于 2013-05-09T01:25:40.687 に答える