1.const 修饰指针
const int *A //A可变,但是A指向的对象不可变
int const *A //同上,因为const 都是在*的左边
int * const A //A不可变,但是A指向的对象可变
const int *const A //指针A和A指向的对象都不可变
所以关于const修饰指针这块,只需要记住这点就好了,就看const是在谁的前面,如果在*的前面,那么就是说指针不能改,如果说是在对象的前面,那么对象就不能改。
2.常对象
const class A;或 class const A;
那么就不能调用这个对象的非const成员函数,但是可以调用他的常成员函数,但是仍不允许修改他的数据成员。
常成员函数可以调用const数据,也可以调用非const数据,除非对象是const.而且常成员函数不能调用另一个非常成员函数。