1.修饰变量:
const int a = 0;//常量
2.修饰指针:
int me;
const int* p1 = &me;//p1可变,*p1不可变,此时不能用*p1来修改,但是p1可以转向
int* const p2 = &me;//p2不可变,*p2可变,此时允许*p2来修改其值,但是p2不能转向。
const int* const p3 = &me;//p3不可变,*p3也不可变,此时既不能用*p3来修改其值,也不能转向
2.修饰入参:
void foo(const int a)
{
cout<<a;
// ++a; 是错误的,a 不能被改变
}
3.修饰方法:(常成员函数)
int getValue() const
{
w=10,h=10;//错误,因为常成员函数不能更新任何数据成员
return w*h + getValue2();//错误的不能调用其他非常成员函数。
}
int getValue2()
{
w=10,h=10;//可以更新数据成员
return w+h+getValue();//正确可以调用常成员函数
}