带有定义或内联的 C++ 宏?

标签 c++ macros c-preprocessor inline-functions

<分区>

Possible Duplicate:
Inline functions vs Preprocessor macros

在 C++ 中引入了内联函数来替换 C 风格的宏(#define macroname...),但是,我仍然看到很多 C++ 代码使用旧的 C 风格的宏而不是内联函数,内联函数不如旧的 C 风格的宏?

最佳答案

我会说宏不如内联函数。

内联函数是类型安全的,而宏不是。这是他们的一大优势。编译器正在帮助您编写更好的代码。

话虽如此,宏可以做一些函数做不到的事情。虽然这些东西并不多......

我相信 C 程序员已经习惯了宏,并且只是将他们的习惯延续到 C++ 中。

关于带有定义或内联的 C++ 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5635450/

相关文章:

c - TAILQ_INSERT_TAIL 宏 <sys/queue.h>

c++ - 使用宏的错误转换

macros - 在 OpenOffice Calc 中自动化图表标题

c - 在 C 中打印定义的整数

c++ - 在 C++ 中将 HWND 包装在对象中的有效方法是什么?

c++ - 比较链表,C++,顺序相同但可以不同

c++ - 内联函数,内部类,C++

c++ - 需要帮助创建一个使用我编写的头文件的简单控制台程序

c# - 在 C# 中使用类似于 C/C++ 中的定义

c - 将 char* 转换为枚举值的有效方法