宏和C++

C++ 提供新功能,某些取代 ANSI C 预处理器提供的任务。 这些新功能来增强该语言的类型安全性和可预见性:

  • 在 C++ 中,为 const 声明的对象可用于常量表达式。 这允许过程声明与值信息可以使用调试器标记查看的常量和枚举。 使用预处理器指令 #define 定义常量不是如准确。 没有分配存储区的 const 对象,除非获取其地址的表达式在程序中。

  • C++ 内联函数函数取代函数类型的宏。 使用宏中的内联函数的优点为:

    • 类型安全。 内联函数会检查规则功能的同一类型。 宏不是类型安全。

    • 纠正具有副作用的过程参数。 内联函数计算为参数中提供的表达式在输入函数体前面。 因此,没有机会与副作用的表达式是不安全的。

有关内联函数的更多信息,请参见 内联, __inline, __forceinline

对于向后兼容性,存在于 ANSI C 以及更早的 C++ 规范的所有预处理器结构为 Microsoft C++ 保留。

请参见

参考

预定义的宏

宏(c/C++)