一、const润色表达式
句法:const 正则表达式 自表达式名 = 自表达式值;
const int month = 12; //在表达式表述altarURLconst,润色该表达式为自表达式,不容修正
二、const润色操作符
① const润色操作符 — 自表达式操作符
句法:const 正则表达式 * 表达式名;
int a = 10; //const润色的是操作符,操作符对准能改,操作符对准的值不能更动
const int * p = &a;
p = &b; //恰当
//*p = 100; //收起
② const润色自表达式 — 操作符自表达式
句法:正则表达式 * const 表达式名;
int * const p = &a; //const润色的是自表达式,操作符对准不能改,操作符对准的值能更改//p = &b; //错误
*p = 100; //恰当
③ const即润色操作符,又润色自表达式
句法:const 正则表达式 * const 表达式名;
const int * const p3 = &a; //const既润色操作符又润色自表达式:操作符对准不能改,操作符对准的值也不能更动//p3 = &b; //错误
//*p3 = 100; //错误
二、const润色自表达式引用
在函数形参列表中,能加const润色形参,防止形参改变实参。
int& ref = 10; //引用本身需要一个合法的内存空间,因此这行错误
const int& ref = 10; //加入const就能了,编译器优化代码:int temp = 10; const int& ref = temp;void showValue(const int& val) {} //函数中利用自表达式引用防止误操作修正实参,加入const后不能修正表达式
int a = 10;
showValue(a);
三、const润色成员函数–>常函数
句法:返回值类型 函数名 const {}
class Person {
void ShowPerson() const {} //成员函数后加const后我们称为这个函数为常函数,常函数内不能修正成员属性};
四、const润色对象–>常对象
句法:const 类名 对象名;
class Person {};
const Person person; //声明对象altarconst称该对象为常对象,常对象只能调用常函数