布尔字面量
来自cppreference.com
表达式
| 概述 | ||||
| 值类别(左值 lvalue、右值 rvalue、亡值 xvalue) | ||||
| 求值顺序(序列点) | ||||
| 常量表达式 | ||||
| 潜在求值表达式 | ||||
| 初等表达式 | ||||
| lambda 表达式(C++11) | ||||
| 字面量 | ||||
| 整数字面量 | ||||
| 浮点字面量 | ||||
| 布尔字面量 | ||||
| 字符字面量,包含转义序列 | ||||
| 字符串字面量 | ||||
| 空指针字面量(C++11) | ||||
| 用户定义字面量(C++11) | ||||
| 运算符 | ||||
赋值运算符:
a=b,a+=b,a-=b,a*=b,a/=b,a%=b,a&=b,a|=b,a^=b,a<<=b,a>>=b
|
||||
自增与自减:++a,--a,a++,a--
|
||||
算术运算符:
+a,-a,a+b,a-b,a*b,a/b,a%b,~a,a&b,a|b,a^b,a<<b,a>>b
|
||||
逻辑运算符:a||b,a&&b,!a
|
||||
比较运算符:a==b,a!=b,a<b,a>b,a<=b,a>=b,a<=>b(C++20)
|
||||
成员访问运算符:a[b],*a,&a,a->b,a.b,a->*b,a.*b
|
||||
其他运算符:a(...),a,b,a?b:c
|
||||
| new 表达式 | ||||
| delete 表达式 | ||||
| throw 表达式 | ||||
| alignof | ||||
| sizeof | ||||
| sizeof...(C++11) | ||||
| typeid | ||||
| noexcept(C++11) | ||||
| 折叠表达式(C++17) | ||||
| 运算符的代用表示 | ||||
| 优先级和结合性 | ||||
| 运算符重载 | ||||
| 默认比较(C++20) | ||||
| 类型转换 | ||||
| 隐式转换 | ||||
| 一般算术转换 | ||||
| const_cast | ||||
| static_cast | ||||
| reinterpret_cast | ||||
| dynamic_cast | ||||
显式转换
(T)a,
T(a)
|
||||
| 用户定义转换 |
语法
true
|
(1) | ||||||||
false
|
(2) | ||||||||
解释
布尔字面量是关键词 true 和 false。它们是 bool 类型的纯右值。
注解
从 bool 到其他类型的隐式转换见整数转换,从其他类型到
bool 的隐式转换见布尔转换。
示例
运行此代码
#include <iostream> int main() { std::cout << std::boolalpha << true << '\n' << false << '\n' << std::noboolalpha << true << '\n' << false << '\n'; }
输出:
true false 1 0