定义常量
const与#define的区别:
A. const常量具有类型,编译器可以进行安全检查,#define没有类型,只是简单替换字符串
B. const只能定义整数或枚举的常量
const修饰变量
- 必须初始化
- 不可修改
指针与const
const位于*左侧(const int * a):const修饰的是指针所指变量
const位于*右侧(int * const a):const修饰的是指针,该指针的值不可改变
A. 该变量不可通过const指针修改
B. const变量必须使用const指针获取
函数与const
函数返回值前加const:函数返回的const修饰的值不能被修改
函数参数加const:
A. 传入函数的实参,不能在函数修改
B. 在函数中将这个实参再作为实参传递给另一个函数时,也必须被const修饰
类与const
成员函数后加const:
A. 此成员函数不可以修改类的成员变量
B. 非const成员函数可以调用const成员函数,但const成员函数只能调用const成员函数,而不能调非const成员函数。