c++ const的用法
1、修饰成员变量
int value=0;
int *p=&value;
const int* p_c=&value; //指针常量,变量指针指向常量,但是指针本身地址可以修改(int const* p_c=&value,也是指针指向常量)。可以修改p_c的值,无法修改*p_c的值。
int* const c_p=&value; //常量指针,常量指针指向变量,但是指针本身的地址为常量,不可更改。可以修改*p_c的值,无法修改p_c的值。
2、修饰函数参数(经常和引用同时出现,提高传参效率,并且使得参数不可被该函数体中的算法更改)。
3、修饰成员函数。
注意:1.不能修改成员变量(除非加上mutable关键字); 2.不能调用非const成员函数(普通成员函数可修改成员变量)
4、修饰普通变量(直接当做常量使用,代替宏)。
5、宏是由预处理器处理,不会进行类型检查;const定义的常量由编译器处理,会进行类型检查。
坚持成就伟大