问题:
是否保证存储在 bool 中的值变量转换为整数 (int) 时会是 0 或 1?
答案:
是的,可以保证。
原因:
C 和 C 编程语言都专门定义了 bool 值转换为整数时的行为。
在 C 中,C 标准(第 4.5 节) /4) 状态:
“bool 类型的右值可以转换为 int 类型的右值,其中 false 变为 0,true 变为 1。”
在 C 语言中,C 标准 ( §6.3.1.2/1) 规定:
“当任何标量值转换为 _Bool 时,如果该值比较等于 0,则结果为 0;否则,结果为 1。”
当 _Bool 值转换为 int 时,该值保持不变,因为 int 可以同时容纳 0 和 1 (§6.3.1.3)。
因此,您可以依赖以下事实: bool 变量在转换为 int 时将始终包含 0 或 1。
以上是bool 变量在转换为整数时是否保证转换为 0 或 1?的详细内容。更多信息请关注PHP中文网其他相关文章!