0
点赞
收藏
分享

微信扫一扫

浅谈C++的boolean类型

下载.jpeg 在C++语言中,boolean类型有所不同: 数字0false等价,而非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类型的字节数。

举报

相关推荐

0 条评论