为什么要用bool类型
因为我曾经看到过C++程序员,使用着C++的编译器,却仍然在使用BOOL、TRUE、FALSE等宏来表达现实世界中的二值事物,令我很不解,前去询问才知是“习惯”。显然,它以前是使用C语言编程的,而且使用这些宏做了很多事,也从来没有感觉到不好。
简言之,如果标准不定义bool,程序员就会自己typedef,那么有的会用char,有的会用unsigned int,有的会用signed int,那就头大了。
类型名可以是 BOOL/Bool/bool/BOOLEAN/Boolean/boolean 之一;还有同时定义 BOOL 和 BOOLEAN,且类型不同的。
同理,如果语言不定义 true false 关键字,有的程序员会define TRUE / FALSE,有的会 define True / False,有的会 define true / false,TRUE 可以是 1 也可以是 -1 ……
为什么要用内置的bool类型呢,至少有两个优点,下面分别讨论。
1. 提高程序的可读性
Boolean(布尔)数据在C++中使用内置类型bool表示。bool类型的变量只可能有两个值true或false,在现实世界中它用于表示“是”或“否”、“高”或“低”等这种只有两个状态的事物再自然不过。例如用于表示检测某年是否润年的函数,其返回值类型显示只有两种情况“是”或“否”,如下1-1所示。