bool类型

来源:互联网 发布:网络加速器green 编辑:程序博客网 时间:2024/06/05 19:49

1.1. 为什么要用bool类型、

C++的编译器中,在使用BOOL、TRUE、FALSE等宏来表达现实世界中的二值事物,令我很不解,这这是一种“习惯”而已。 为什么要用内置的bool类型呢,至少有两个优点


1.1.1. 提高程序的可读性

Boolean(布尔)数据在C++中使用内置类型bool表示。bool类型的变量只可能有两个值true或false,在现实世界中它用于表示“是”或“否”、“高”或“低”等这种只有两个状态的事物再自然不过。例如用于表示检测某年是否润年的函数,其返回值类型显示只有两种情况“是”或“否”。

bool IsLeapYear( const unsigned int year)

{   return (year % 4==0 && year % 100 !=0) || (year %400 ==0);  }

没有统一的布尔类型在大型的工程项中特别是用到第三方程序库时,可能使用不同的手段模拟布尔类型以提交代码的可读性,这样会使得代码有些混乱。C++引入了bool内置类型,解决了代码的一致性问题。

1.1.2. 提高程序的性能

虽然bool类型在C++标准中并没有要求一致的实现,但绝大多数编译器都将其实现为1字节,即sizeof(bool)的值为1,加上其只有两个值的值域{true, false},应该算作C++中最小的数据类型了。虽然char、unsigned char和signed char类型在C++中没有特定的实现要求,但一般也实现为一个字节,这样看来与bool类型从内存空间的占用上并没有性能上的差异。所以,使用bool类型,不仅可以使程序读起来更自然、一致,提高程序的可读性,而且可以给编译器优化代码的机会,所以在C++程序中应尽可能使用内置的bool类型,而不是通过任何手段模拟的bool类型。

原创粉丝点击