C++ 类的成员函数:内联函数与外联函数

    我们可以用inline来定义内联函数,不过,任何在类的声明部分定义的函数都会被自动的认为是内联函数。

    类的成员函数可以分为内联函数和外联函数。内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。而声明在类体内,定义在类体外的成员函数叫外联函数。外联函数的函数体在类的实现部分。

    内联函数在调用时不是像一般函数那样要转去执行被调用函数的函数体,执行完成后再转回调用函数中,执行其后语句,而是在调用函数处用内联函数体的代码来替换,这样将会节省调用开销,提高运行速度。

    内联函数与带参数的宏定义进行下比较,它们的代码效率是一样,但是内联欢函数要优于宏定义,国为内联函数遵循的类型和作用域规则,它与一般函数更相近,在一些编译器中,一旦关上内联扩展,将与一般函数一样进行调用,高度比较方便。

    外联函数变成内联函数的方法很简单,只要在函数头前面加上关键字inline就可以了。

    内联函数必须是和函数体声明在一起,才有效。像这样的声明inline void function(int i)是没有效果的,编译器只是把函数作为普通的函数声明,我们必须定义函数体。

 

阅读更多
个人分类: C/C++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭