【C++】const

const 用法:

1. 在普通变量定义的前面加上const,变量就不能被重新赋值

2. const与指针的写法有点复杂:

const int *p  与 int  const *p完全等价,他们修饰的是*p,也就是*p不能被重新赋值,也就是被指向的对象

int * const p则不一样,它修饰的是p,也就是说p这个指针内存的地址不能动了,但是这个地址指向的变量还可以被重新赋值。

3. const与引用:

const可以修饰引用:  int x=3; const int &y=x;  这个例子中,const修饰的是y,y是不能被重新赋值的  

const在类中的用法:

1. 使用const修饰类的数据成员,这样做之后,这个类一旦被初始化后,它的数据成员就不能再被改变!

2. 更复杂的是,用const修饰类的成员函数,这样做后,这个常成员函数内部,不能对数据成员进行修改!

原因在于,对于常成员函数,编译器编译的时候,它会这样认为:

也就是说它会认为函数参数中的this指针被修饰为const,那么this指针指向的数据成员就不能被改变了。

调用常成员函数应该这样写:

猜你喜欢

转载自blog.csdn.net/onlyongwang/article/details/81303093