第41章(第1 / 4页)
推荐小说:
用const定义的常量含有数据类型,该常量可以参与逻辑运算。例如:
constintLENGTH=100;//LENGTH是int类型
constfloatMAX=100;//MAX是float类型
#defineLENGTH100//LENGTH无类型
#defineMAX100//MAX无类型
除了能定义常量外,const还有两个“保护”功能:
一、强制保护函数的参数值不发生变化
以下程序中,函数f不会改变输入参数name的值,但是函数g和h都有可能改变name的值。
voidf(Strings);//passbyvalue
voidg(String&s);//passbyreferance
voidh(String*s);//passbypointer
main()
{
Stringname=“Dog”;
f(name);//name的值不会改变
g(name);//name的值可能改变
h(name);//name的值可能改变
}
对于一个函数而言,如果其‘&’或‘*’类型的参数只作输入用,不作输出用,那么应当在该参数前加上const,以确保函数的代码不会改变该参数的值(如果改变了该参数的值,编译器会出现错误警告)。因此上述程序中的函数g和h应该定义成:
voidg(constString&s);