只要不是0,那么无论赋值成什么,最终都会变成1
虽然说bool类型0,是flase,非0是true,但是最终都会变成0是flase,1是true
int main()
{
bool a = 100;
std::cout << (int)a << std::endl;//打印1
}
但是上面打印的是数字,我想更直观的看true,或者是flase,那么应该使用std::boolalpha
bool a = 100;
std::cout << std::boolalpha;
std::cout << a << std::endl;//打印出true
或者也可以直接赋值给一个变量,然后判断这个变量是否与0相等
int a = 0;
int b = 66;
int c;
std::cout << std::boolalpha;
std::cout << (bool)(c = a) << std::endl;//false
std::cout << (bool)(c = b) << std::endl;//true