布尔类型(bool)
- C++ 中布尔(bool)是基本数据类型, 专门表示逻辑值
- 布尔类型的字面值常量
- true 表示逻辑真 (true就是字面值1)
- false便是逻辑假 (false就是字面值0)
- 布尔类型的本质
- 单字节的整数, 使用1表示真, 0 表示假
- 它可以接收任何表达式的结果, 但并不会保存表达式的算数值, 仅保存表达式的逻辑值
- 任何基本类型都可以被隐式转换为布尔类型
- 非零即真, 零(NULL) 为假
#include <iostream>
using namespace std;
int main(void)
{
bool b = false;
cout << b << endl; // 0
// 流控制符 boolalpha
cout << boolalpha << b << endl; // "false"
cout << sizeof(b) << endl; // 1 // 布尔类型是单字节整数, 1个字节有8个比特位, 内存管理的基本单位是字节
b = 3 + 5;
cout << b << endl; // true
char *p = NULL; // NULL本质上就是 (void*)0
b = p;
cout << b << endl; // false
return 0;
}