Skip to content
On this page

CPP_内联函数


标签:CPP/基础  

CPP 内联函数

  • 在编译的时候展开(一般是跳转)
  • 关键字 inline
  • 因为会展开,所以要求函数小,使用频繁,不允许递归

和有参宏的区别

  • 宏函数是预处理时展开,而内联函数是编译时展开
  • 带参宏本质是宏替换,只替换不计算,不检查
CPP
using namespace std;
#define MAX(a, b) ((a) > (b) ? (a) : (b))
inline int max(int a, int b) { return a > b ? a : b; }

int main() {
  int a = 1; int b = 1;
  cout << MAX(++a, ++b) << endl;
  a = 1; b = 1;
  cout << max(++a, ++b) << endl;
}

上面的运行结果为 3, 2

Last updated: