const与指针:
const与指针的组合使用说明:
1.const int * p; //指向整型常量的指针,它指向的值不能修改。
当然还有一种写法是:int const * p;//这个写法很容易误以为是指向整型的常量指针,推荐使用第一种。
2.int * const p; //指向整型的常量指针,它不能再指向别的变量,但是指向的变量的值可以修改。const在*右边的为常量指针。
3.const int * const p; //指向整型常量的常量指针,它既不能指向别的变量,同时指向的变量的值也不能修改。
const指针和const成员函数:
const成员函数不能修改对象的属性,编译器视为错误;
指向const对象的指针,只能调用对象的const成员函数。
onst修饰成员函数
关于Const函数的几点规则:
a. const对象只能访问const成员函数,而非const对象可以访问任意的成员函数,包括const成员函数.
b. const对象的成员是不可修改的,然而const对象通过指针维护的对象却是可以修改的.
c. const成员函数不可以修改对象的数据,不管对象是否具有const性质.它在编译时,以是否修改成员数据为依据,进行检查.
d. 然而加上mutable修饰符的数据成员,对于任何情况下通过任何手段都可修改,自然此时的const成员函数是可以修改它的