在C++语言中,boolean类型有所不同: 数字0与false等价,而非0数字与true等价.
对于有过其它编程语言的人来讲,可能需要一个适应的过程。
#include <iostream>
int main()
{
int x = 3;
if(x)
{
std::cout << "condition true" << std::endl;
}else
{
std::cout << "condition false" << std::endl;
}
// 验证:boolean类型占 1byte 内存空间
std::cout << "boolean类型所占内存:" << sizeof(bool) << " bytes" << std::endl;
std::cin.get();
}
另外,在C++中,boolean类型占用1byte内存空间。可能这里大家会有疑问?
boolean类型默认只有两种值:true / false。仅用1 bit就可以表示。Why 要使用 1 byte 来表示?
这里需要解释一下(涉及计算机组成原理):
当我们进行内存寻址(即:从内存中找到boolean变量的值)时,我们只能进行字节寻址,而不能按bit寻址。
我们可以通过sizeof(bool)来查看boolean类型的字节数。