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进行调试,对宏无法调试。
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进行调试,对宏无法调试。
相关文章推荐
- C++中const迭代器 和 const_iterator的区别
- C++中define与const的区别
- const在c/c++中的区别
- c++语法之const int*p 与const * int p的区别
- const在c/c++中的区别
- const在c/c++中的区别
- c和c++中const的区别
- const在c/c++中的区别
- c++前后加const的用途和区别
- C++中的const(一)——和C中的区别
- C++顶层const和底层const的区别
- C++里的强制类型转换符reinterpret_cast、static_cast 、dynamic_cast、const_cast 区别
- 个人学习C++过程中对const的总结:初始化系列之用字面值常量与其他类型的值初始化的区别(一)
- const在c与c++中用法区别
- static const extern在C与C++中的区别
- const 在C++中的区别
- C和C++中const的区别
- c++ 中 const_iterator 和 const vector<>::iterator的区别
- c++中const、内联函数与c语言中的宏定义的区别
- c/c++中const与static的区别