#define和const的区别

来源:互联网 发布:db2数据库启停 编辑:程序博客网 时间:2024/05/16 09:19

 #define是一个真常量,而const则是有编译器判断实现的常量,是一个假常量,在实际中,使用const定义的变量,最终还是一个变量,只是在编译器内进行了检查,发现有修改则报错。

  由于编译器在编译期间对const变量进行检查,因此被const修饰过的变量是可以修改的,利用指针获取到const修饰过的变量地址,强制将指针的const修饰 去掉,就可以修改对应的数据内容。如:

 

const int nConst = 5;

int *pConst = (int*) &nConst;

*pConst = 6;

int nVar = nConst;

原创粉丝点击