头文件中const对象的定义与宏定义的差异
头文件中const对象的定义与宏定义的区别
从使用的角度上这两个用法有什么区别啊?
------解决方案--------------------
宏只是一个是简单替换而已!而且在预编译器就已经完成了的!
如果可以,尽量少用宏,多用const
------解决方案--------------------
宏定义其实是字符串替换,作用域是整个程序
const对象是有确切类型的,不是简单的名字,作用域根据具体的情况而定
------解决方案--------------------
很多原因的,google下 ,说下我的经验
宏在预编译期就完成了替换,所以编译器无法捕捉到宏的错误!
宏只是简单替换不会作安全检查!
------解决方案--------------------
const是有类型的,可以进行编译时类型检查。另外const在必要时是会分配内存的。
如果只针对C++编程的话,应尽量使用const,让编译器更好的理解你的意图。
------解决方案--------------------
preprocessor=预处理器,谢谢。
------解决方案--------------------
宏定义:简单的文本替换,使用不当会有问题
const:常量修饰符,表示不可更改,编译时会有类型检查,更加可靠。
------解决方案--------------------
可以
从使用的角度上这两个用法有什么区别啊?
------解决方案--------------------
宏只是一个是简单替换而已!而且在预编译器就已经完成了的!
如果可以,尽量少用宏,多用const
------解决方案--------------------
宏定义其实是字符串替换,作用域是整个程序
const对象是有确切类型的,不是简单的名字,作用域根据具体的情况而定
------解决方案--------------------
很多原因的,google下 ,说下我的经验
宏在预编译期就完成了替换,所以编译器无法捕捉到宏的错误!
宏只是简单替换不会作安全检查!
------解决方案--------------------
const是有类型的,可以进行编译时类型检查。另外const在必要时是会分配内存的。
如果只针对C++编程的话,应尽量使用const,让编译器更好的理解你的意图。
------解决方案--------------------
宏只是一个是简单替换而已!而且在预编译器就已经完成了的!
如果可以,尽量少用宏,多用const
preprocessor=预处理器,谢谢。
------解决方案--------------------
宏定义:简单的文本替换,使用不当会有问题
const:常量修饰符,表示不可更改,编译时会有类型检查,更加可靠。
------解决方案--------------------
宏只是一个是简单替换而已!而且在预编译器就已经完成了的!
如果可以,尽量少用宏,多用const
为什么啊?
很多原因的,google下 ,说下我的经验
宏在预编译期就完成了替换,所以编译器无法捕捉到宏的错误!
宏只是简单替换不会作安全检查!
头文件中的const对象使用#ifndef和#endif包括起来有没有意义呢?
可以