const
作用
-
修饰变量 ==> 变量不可变 代替C语言中的#define 常量 可以让编译器进行类型检查匹配
-
修饰指针
-
顶层const 指针的值不可变,但指针指向的可以变
-
底层const 指针指向的值不可以变,但指针可以变
const 修饰函数形参的时候,编译器会去掉顶层的const,保留底层的const,所以可以通过底层的const来修饰函数进行函数重载,这个时候会有另外一个小问题,也推荐使用const_cast的来解决。
-
-
修饰引用
- 用于函数形参的时候 可以即避免值拷贝,又避免修改值的内容
- 修饰类的成员变量时候,该成员变量需要在参数列表初始化
-
修饰类的成员函数
- 类的成员函数不会改变对象的状态
- 为了调用这类函数,类的对象需要是const类型的
- 如果真的想修改某个与对象状态无关的变量的话,可以将这个变量标记为mutable