C コンパイラーは (bool)true Equals (int)1 を保証できますか?
次のような疑問が生じます: (bool) と仮定できるかC コンパイラの種類に関係なく、true は (int)1 と等価です。使用されていますか?
答え:
はい、この仮定はすべての C コンパイラに当てはまります。式内のキャストは余分です。 bool 値は、整数昇格の義務に従って int に直接変換され、値が 1 の int になります。
参照:
4.7 によると [conv .integral] / 4, "ソース型が bool の場合、true は 1 に変換されます。"
以上がC は `(bool)true` が `(int)1` に等しいことを保証しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。