1、bool类型
通常我们用bool类型来表示真假,他们分别用预定义字面值true和false来表示,也就是说可以这样编写:
bool is_ready=true;
字面值true和false都可以通过提升转换成int型,true被转换成1,false被转换成0,例如:
int ans=true;
int promise=false;
则使用cout输出分别为1和0,这就是bool值的提升转换。
另外,任何数字值和指针式都可以被隐式转换为bool值。任何非零值都可以被转换为true,而零被转换为false.如:
bool start=-100;
bool stop=0;
使用cout进行输出的就是 1 (true)和 0 (false).
2、const限定符
如果你学习过c语言的就知道,一般用#define预处理器方法来定义符号常量,但是在C++中,有一个更好用的方法:那就是const限定符。我们一般用const限定符来惊喜那个修改变量声明和初始化。例如:假设需要一个表示一年中月份数的符号常量,可以在程序中输入一下代码:
const int Months=12;
这样可以在程序中使用Months,而不是12了(在程序中,12表示多种意思,可能表示一英尺有多少英寸,或者是面包圈有多少个,而Months明确的指出了12表示的是什么)。在这里Months被称之为符号常量,也就意味着Months的值不能再被修改了,只能用来使用。
创建常量的通用格式是:
const type name=value;
应该在声明中就对常量进行初始化。一下几行代码不好:
const toe;
toe=10;
如果在声明常量值时不进行初始化,那么常量值是不确定的,且不能被修改。
最后我们来谈谈,为什么要多用const而不用#define呢?有三点理由,首先,const能够指出常量的类型,其次,const的定义域可以被限制在特定的区域,比如在函数中或者是类当中,而#define只能是全局使用,最后,const可以用于更加复杂的类型,如结构和数组。所以在这里我更加推荐多多使用const 而不用#define。