读书人

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

发布时间: 2013-07-04 11:45:33 作者: rapoo

为什么 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是简单的宏替换,它定义的是字符串,然后用的时候宏替换,替换的时候可能出现异议,所以不提倡,如果非用不可,注意加括号

读书人网 >C++

热点推荐