const关键字

发布时间 2023-05-07 20:53:06作者: muzixuanxuanxuan

1.const修饰普通变量

const int a = 10;

a被视为常量

2.const修饰指针

int a = 10;

int const * b = &a; 此时b为常量指针,因为const修饰的是* b,所以指针的指向的内容不能变,指向可变,

int * const c = &a;此时c指针常量,c的指向不可以变,但可以通过c来改变指向的内容

3.const引用

const引用是可以绑定到const对象或者非const对象上,但是不可以通过const引用来修改原对象的值

非const引用只能绑定到非const对象上,不能绑定到const对象上

所以总结完就是非const引用不能绑定到const对象上

4.const成员变量

const成员变量只能在类内进行声明,定义,在构造函数初始化列表中进行初始化

5.const成员函数

不能修改成员变量的值,只能访问成员变量,不能够调用非const成员函数

const对象只能调用const成员函数,const成员函数对this指针加const限制

非const对象可以调用双版本成员函数,优先调用const版本

void print() const //const point* const this

void print() //point* const this