C ++中的内联和宏之间的区别

在本文中,我们将了解C ++中内联和宏之间的区别。

内联

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

  • 它由编译器解析。

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

  • 它只对参数求值一次。

  • 编译器可能无法将所有函数转换为“inline”函数并将其全部展开。

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

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

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

  • 这很容易调试。

  • 这是因为错误检查是在编译过程中完成的。

  • 它将所有语句绑定在函数主体中。

示例

inline return_type funct_name ( parameters ) {
   . . .
}

  • 它由预处理器扩展。

  • 它是在程序的开头定义的。

  • 每次在代码中使用参数时,它都会对参数进行求值。

  • 它们总是需要扩大。

  • 它们需要具体定义。

  • 他们永远不会成为班上的一员。

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

  • 宏的定义以新行结束。

  • 调试宏是很困难的,因为编译时不会进行错误检查。

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

示例

#define macro_name char_sequence