C++中的bool类型:
C++在C语言的基本类型系统上增加了bool类型
C++中的bool可取的值只有true与false
理论上bool值占一个字节:
如果多个bool值定义在一起,可能各占一个bit,这取决于编译器的实现
true代表真值,编译器内部用1来表示
false代表非真值,编译器内部用0来表示
int a;
bool b = true;
printf("b = %d,sizeof(b)=%d\n",b,sizeof(b));
b = 4;
a = b;
printf("b = %d,a = %d\n",b,a);
运行代码:
b = 1,sizeof(b) = 1;
b = 1,a = 1;
bool d = false;
printf("d = %d\n",d);
d++;
printf("d = %d\n",d);
d = d + 1;
printf("d = %d\n",d);
得到:
d = 0,
d = 1,
d = 1,
C++编译器会在赋值时将非0值转换为true,0值转换为false。