首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为啥 C++ 中提倡尽量避免使用 #define

2013-07-04 
为什么 C++ 中提倡尽量避免使用 #define?为什么 C++ 中提倡尽量避免使用 #define?我以前在C语言中用的还是

为什么 C++ 中提倡尽量避免使用 #define?
为什么 C++ 中提倡尽量避免使用 #define?
我以前在C语言中用的还是很多的。为啥 C++ 中提倡尽量避免使用 #define


[解决办法]

用 const 和 inline 代替#define,能让编译器帮我们做更多的语法和语义检查。

[解决办法]
因为有其他更好的替代品了,#define没有类型检查,纯粹的文本替换,副作用比较多
[解决办法]

引用:
Quote: 引用:

Because it is not type safe
是因为#define不重视作用域的原因吗


define is macro, code will be replace before compile. enum is type, it's compile time evaluation.
C++ is strong type language while C is not.
[解决办法]
define是简单的宏替换,它定义的是字符串,然后用的时候宏替换,替换的时候可能出现异议,所以不提倡,如果非用不可,注意加括号

热点排行