C/C で NULL ポインターをチェックする最良の方法は何ですか?
最近のコード レビューで、寄稿者はすべて NULL であると主張しました。ポインタのチェックは、NULL との明示的な比較で実行する必要があります:
<code class="cpp">int * some_ptr; // ... if (some_ptr == NULL) { // Handle null-pointer error } else { // Proceed }</code>
このアプローチは、if ステートメントでポインタ変数を使用する従来の方法も有効で簡潔であると主張した別のレビュー担当者によって反対されました。 NULL をチェックする方法:
<code class="cpp">int * some_ptr; // ... if (some_ptr) { // Proceed } else { // Handle null-pointer error }</code>
。どちらの方法を好みますか?その理由は何ですか?
好ましい回答によると、次のような理由から後者の方法が好ましいです。
結論として、 C/C で NULL ポインターをチェックする場合、慣用的な if (ptr) または if (!ptr) 構文を使用することをお勧めします。このアプローチは明確かつ簡潔で、C クラスと互換性があります。
以上がC/C での Null ポインター チェックには「if (ptr == NULL)」と「if (ptr)」のどちらを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。