前言
Use const whenever possible
正文
const作为一个常见的修饰符,能修饰的地方有很多,接下来总结常见的用法。
1、修饰变量
const int num = 520; //修饰基本数据类型num,任何修改num的行为都是非法的
const int* ptr = # //修饰被指物num,任何修改num的行为都是非法的
int* const ptr = # //修饰指针ptr,任何修改ptr的行为都非法
const int* const ptr = # //num,ptr都不能被修改
2、修饰函数的参数
1中讲的用法可引申到修饰函数的形参
void func(const int* ptr); //函数func获得一个const修饰的指针ptr,ptr所指在函数体中不允许被修改
3、修饰函数体
当且仅当类的成员函数不修改对象的任何成员数据时,即不修改对象的任何一个bit位时,才能修饰为const。
class Date{
private : int dd, mm, yy;
public : int getDay() const{ return dd}; //const出现在函数名和函数体之间
public : int getMonth() const{ return mm};
public : int getYear() const{ return yy};
}
总结
const关键字用法很多,也很重要。