内联函数与宏的区别

Posted zxnsirius

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内联函数与宏的区别相关的知识,希望对你有一定的参考价值。

  1. 内联函数在编译时期展开,而宏是在预处理时期展开
  2. 在编译的时候,内联函数可以直接被镶嵌到目标代码中,而宏只是一个简单的文本替换
  3. 内联函数可以完成诸如类型检测,语句是否正确等编译功能,而宏没有这样的功能。
  4. 宏不是函数,而内联函数是函数
  5. 宏在定义的时候要小心的处理宏参数,一般情况下要把参数用括号括起来,否则容易出现一些二义性,而内联函数定义不会出现二义性。

以上是关于内联函数与宏的区别的主要内容,如果未能解决你的问题,请参考以下文章

内联宏与普通函数

预处理conststatic与sizeof-内联函数与宏有什么区别

C++内联函数:那时我还太年轻,并不知道使用inline带来的效率,早已在暗中标好了价格

C之函数与宏(四十)

函数与宏定义

C++之内联函数