5-4常指针和常引用
1.常指针与常引用的用法:
2.const修饰紧跟其后的词:
Coordinate * const pCoor = &coor1; const修饰pCoor,这种方式定义的常对象指针“只能指向coor1,但可以调用coor1的不同的函数”;(常对象指针:拥有读写权限);
const Coordinate *pCoor = &coor1; const修饰Coordinate的对象,所指对象不能改变,只能调用coor1的“常成员函数”。(常指针:只拥有读权限)
3.注意
Coordinate coor1(3,5);
Coordinate &coor2 = coor1; //定义了一个引用,引用的名字是coor2,并且用coor2指向coor1,coor1就有了coor2的别名。
Coordinate *pCoor = &coor1; //给对象指针赋值的时候一定要加取地址符号&,例如Coordinate *pCoor = &coor1;
const Coordinate &coor2 = coor1; //对象的常引用(常引用只有读权限)
const Coordinate *pCoor = &coor1; //对象的常指针
coor2.getX(); //coor2只读,getX()具有读写权限
Coordinate * const pCoor = &coor1; //一旦指定一个对象之后,就不能再指向别的对象,只限指向的对象不能变,但是指针本身指向对象的内容是可变的,指向的对象是可以读写的(即为pCoor不能指向其它位置,它指向的位置中的内容是可以变的)
const Coordinate *pCoor = &coor1; //常对象,因此只能调用常成员函数
//常引用和常指针中,const都是在最前面