C++ 中内联函数和宏的区别


在这篇文章中,我们将了解 C++ 中内联函数和宏的区别。

内联函数

  • 它是 C++ 中的一种函数。

  • 它由编译器解析。

  • 它可以在类内或类外定义。

  • 它只评估参数一次。

  • 编译器可能不会将所有函数转换为“内联”函数并扩展它们。

  • 在类内部定义的短函数会自动成为内联函数。

  • 类内的内联函数可以访问类的成员数据。

  • 内联函数可以使用大括号终止。

  • 它易于调试。

  • 这是因为错误检查在编译期间完成。

  • 它绑定函数体中的所有语句。

示例

inline return_type funct_name ( parameters ) {
   . . .
}

  • 它由预处理器扩展。

  • 它在程序开头定义。

  • 它在代码中每次使用时都会评估参数。

  • 它们总是需要/会被扩展。

  • 它们需要专门定义。

  • 它们永远不会成为类的成员。

  • 它们无法访问类的成员数据。

  • 宏的定义以换行符结束。

  • 由于错误检查不会在编译时发生,因此难以调试宏。

  • 如果它包含多个语句,则会遇到绑定问题,因为它没有终止符号。

示例

#define macro_name char_sequence

更新于: 2021年3月24日

838 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告