您的位置:首页 > 编程语言 > C语言/C++

const在C和C++中的区别

2012-07-25 21:34 162 查看
const在c中,修饰的不是常量,而是只读变量,只读变量在内存中开辟一个地方来存放它的值,只不过这个值由编译器限定不允许被修改。C语言关键字const就是用来限定一个变量不允许被改变的修饰符(Qualifier)。上述代码中变量n被修饰为只读变量,可惜再怎么修饰也不是常量。

const int n = 5;

  int a
;

在C++中以上正确,但是在C语言中,以上会报错。在c中可以选择写成const int n; 把它当成是一个声明;但是在C++中是不对的。

在C语言中,const不是很有用,C迫使程序员在预处理器里使用#define。

----------------------------------------------

在C++中,用const常量完全取代宏常量,也可以用#define。使用const常量的好处:

1. const有数据类型,宏常量没有。编译器对前者进行类型安全检查,对后者仅执行替换,没有类型检查可以有意料外的错误;

2. 有些集成调试工具可以对const进行调试,对宏无法调试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: