bool (C++)

此关键字是内置类型。此类型的变量可以具有值 true错误。条件表达式具有该类型 bool ,所以具有类型 bool的值。例如, i!=0 现在具有 true错误 基于 i的值。

true错误 具有以下关系:

!false == true
!true == false

在以下语句:

if (condexpr1) statement1; 

如果 condexpr1 是 true, statement1 总是执行;如果 condexpr1 是 错误, statement1 不会执行。

当后缀或前缀 ++ 运算符应用于类型 bool的变量时,变量设置为 true。后缀或前缀 -- 运算符不能应用于此类型的变量。

bool 类型参与了整数提升。类型 bool 的 r 值可以转换为类型 int的 r 值与 错误 成为零和 true 需的一个为; 否则为。为不同类型, bool 参与重载决策。

Microsoft 专用

在 visual C++4.2,标准 C++ 头文件包含的等效于 bool 与 int的 typedef 。在 Visual C++ 5.0 及更高版本中, bool 实现为具有 1 字节范围的内置类型。这意味着为 Visual C++ 4.2, sizeof (bool) 调用为 4,,而在 Visual C++ 5.0 及更高版本中,同一调用将 1。这可能导致内存损坏问题,如果定义类型 bool 的结构成员在 Visual C++ 4.2 以及与 4.2 混合 OBJ 文件 (对象) 和/或 DLL 生成和 5.0 或更高编译器。

__BOOL_DEFINED 宏可用于包装依赖打开的代码 bool 是否支持。

示例

// bool.cpp
#include <stdio.h>

int main()
{
    #if !defined(__BOOL_DEFINED)
        printf_s("bool is not supported\n");
    #elif defined(__BOOL_DEFINED)
    printf_s("bool is supported\n");
    #endif
}
  

请参见

参考

C++关键字

基础类型(C++)