<分区>
Possible Duplicate:
Inline functions vs Preprocessor macros
在 C++ 中引入了内联函数来替换 C 风格的宏(#define macroname...),但是,我仍然看到很多 C++ 代码使用旧的 C 风格的宏而不是内联函数,内联函数不如旧的 C 风格的宏?
<分区>
Possible Duplicate:
Inline functions vs Preprocessor macros
在 C++ 中引入了内联函数来替换 C 风格的宏(#define macroname...),但是,我仍然看到很多 C++ 代码使用旧的 C 风格的宏而不是内联函数,内联函数不如旧的 C 风格的宏?
最佳答案
我会说宏不如内联函数。
内联函数是类型安全的,而宏不是。这是他们的一大优势。编译器正在帮助您编写更好的代码。
话虽如此,宏可以做一些函数做不到的事情。虽然这些东西并不多......
我相信 C 程序员已经习惯了宏,并且只是将他们的习惯延续到 C++ 中。
关于带有定义或内联的 C++ 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5635450/