如何辨别C语言中的inline函数与普通函数的区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1417个文字,预计阅读时间需要6分钟。
(1)什么是内联函数?内联函数是指那些定义在类体内部的函数,即函数体直接包含在类定义中。这样的函数在调用时,其函数体会被直接插入到调用位置,从而减少函数调用的开销。
(2)为什么要引入内联函数?引入内联函数的主要目的是为了提高程序的执行效率。当函数体较小且调用频繁时,使用内联函数可以避免函数调用的开销,从而提高程序运行速度。
(1)什么是内联函数?
内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。
(2)为什么要引入内联函数?
当然,引入内联函数的主要目的是:解决程序中函数调用的效率问题。
另外,前面我们讲到了宏,里面有这么一个例子:
#define ABS(x) ((x)>0? (x):-(x))
当++i出现时,宏就会歪曲我们的意思,换句话说就是:宏的定义很容易产生二意性。
(3)为什么inline能取代宏?
1、 inline 定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展开),没有了调用的开销,效率也很高。
2、 很明显,类的内联函数也是一个真正的函数,编译器在调用一个内联函数时,会首先检查它的参数的类型,保证调用正确。然后进行一系列的相关检查,就像对待任何一个真正的函数一样。这样就消除了它的隐患和局限性。
3、 inline 可以作为某个类的成员函数,当然就可以在其中使用所在类的保护成员及私有成员。
本文共计1417个文字,预计阅读时间需要6分钟。
(1)什么是内联函数?内联函数是指那些定义在类体内部的函数,即函数体直接包含在类定义中。这样的函数在调用时,其函数体会被直接插入到调用位置,从而减少函数调用的开销。
(2)为什么要引入内联函数?引入内联函数的主要目的是为了提高程序的执行效率。当函数体较小且调用频繁时,使用内联函数可以避免函数调用的开销,从而提高程序运行速度。
(1)什么是内联函数?
内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。
(2)为什么要引入内联函数?
当然,引入内联函数的主要目的是:解决程序中函数调用的效率问题。
另外,前面我们讲到了宏,里面有这么一个例子:
#define ABS(x) ((x)>0? (x):-(x))
当++i出现时,宏就会歪曲我们的意思,换句话说就是:宏的定义很容易产生二意性。
(3)为什么inline能取代宏?
1、 inline 定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展开),没有了调用的开销,效率也很高。
2、 很明显,类的内联函数也是一个真正的函数,编译器在调用一个内联函数时,会首先检查它的参数的类型,保证调用正确。然后进行一系列的相关检查,就像对待任何一个真正的函数一样。这样就消除了它的隐患和局限性。
3、 inline 可以作为某个类的成员函数,当然就可以在其中使用所在类的保护成员及私有成员。

