ホームページ > バックエンド開発 > C++ > 「if(pointer != NULL)」の代わりに「if(pointer)」を使用して非 Null ポインタをチェックしても安全ですか?

「if(pointer != NULL)」の代わりに「if(pointer)」を使用して非 Null ポインタをチェックしても安全ですか?

Barbara Streisand
リリース: 2024-11-04 01:01:03
オリジナル
826 人が閲覧しました

Is it Safe to Check for Non-Null Pointers with `if(pointer)` Instead of `if(pointer != NULL)`?

非 Null ポインターのチェック: if(pointer) と if(pointer != NULL)

質問:

従来の if(pointer != NULL) の代わりに if(pointer) を使用してポインタの非 null ステータスを検証することは許容されますか?

回答:

はい、これは許容されます。 null ポインターは暗黙的にブール値 false に変換され、null 以外のポインターは true に変換されるため、if(pointer) の使用は安全です。この動作は、C 11 標準のブール変換に関するセクションで定義されています。

「算術、スコープ外の列挙、ポインター、またはメンバー型へのポインターの prvalue は、bool 型の prvalue に変換できます。ゼロvalue、null ポインター値、または null メンバー ポインター値は false に変換され、その他の値は true に変換されます。std::nullptr_t 型の prvalue は bool 型の prvalue に変換されます。"

以上が「if(pointer != NULL)」の代わりに「if(pointer)」を使用して非 Null ポインタをチェックしても安全ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート