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定义的常量由编译器处理,会进行类型检查。

posted @ 2018-09-03 21:03  xianyongchao  阅读(140)  评论(0编辑  收藏  举报