C 11 では、明示的な演算子 bool の導入により、safe-bool イディオムの必要性が廃止されました。 ()定数。 C 標準セクション 4 [conv] p3:
によると、式 e は、宣言 T t=e の場合に限り、暗黙的に型 T に変換できます。は整形式です [...]
これは、宣言 bool t(e); の場合、式を文脈に応じて bool に変換できることを意味します。
特定の言語構造では、次のような暗黙の変換が必要です。
したがって、明示的な変換演算子が利用できるようになると、複雑なセーフブール実装に頼る必要がなくなります。これにより、明示的な変換は、safe-bool イディオムの暗黙的なメカニズムと比較して明確で意図的な型変換を提供するため、コードが大幅に簡素化および明確化されます。
以上がSafe-Bool イディオムは C 11 でも必要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。