Is it Logical to Check for this == nullptr?
C のコンテキストでは、これをチェックするのは一般に無意味であると考えられています。はヌルです。これは、null ポインターでのメソッド呼び出しがすでに未定義の動作を構成しており、そのようなチェックに基づくコードが非標準となるためです。
この == nullptr がオブジェクトの削除を意味するのは概念的には真実ですが、これは状況を正確に表現したものではありません。 null ポインター値を使用した this の呼び出しは、メソッドが null ポインターで直接呼び出されたか、null ポインターから派生した参照で呼び出されたことを示します。ただし、この発生は本質的に削除演算子やその型のオブジェクトの存在とは関係ありません。
VC や MFC などの一部の実装では、this == 0 の使用が許可される場合があります。たとえば、そのような実装用に特別に調整されたライブラリは、トラブルシューティング手段としてこれを使用する場合があります。ただし、より効果的なデバッグ アプローチには条件チェックにアサートを使用することが含まれるため、この方法は推奨されません。
以上がC で `this == nullptr` のチェックが非論理的とみなされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。