在C++中,!
是一个逻辑非运算符。当这个运算符作用于一个变量(通常是一个布尔变量或者可以隐式转换为布尔类型的变量)时,它的作用是将该变量的值取反。
如果变量的值为 true
,则 !
运算符会将其转换为 false
;如果变量的值为 false
,则 !
运算符会将其转换为 true
。
例如:
cpp复制代码
bool isRaining = true; | |
bool isNotRaining = !isRaining; // isNotRaining 的值为 false | |
int number = 0; | |
bool isNumberZero = !number; // isNumberZero 的值为 true,因为 0 在布尔上下文中被视为 false |
在第二个例子中,整数 number
被隐式转换为布尔值。在C++中,任何非零整数都会转换为 true
,而零会转换为 false
。因此,!number
的值是 true
。
注意:使用 !
运算符时,确保你明白你正在操作的变量的布尔意义,以及它如何被隐式转换为布尔值。