一、?
是指那些定义在类体内的成员函数,也就该函数的函数体放在类内。
二、为什么要使用inline函数
首先引入关于调用函数的缺点:函数调用前要先保存寄存器,并在返回时恢复;复制实参;程序还必须转向一个新位置执行。
将一个函数声明为inline,那么函数就成为内联函数。内联函数通常就是它在程序中每个调用点上“内联地”展开。从定义上看,内联函数跟一般函数不一样,一般函数调用的时候是需要调用开销的(比如出栈入栈等操作),内联函数从定义上看更像是宏,但是跟宏不一样。
内联函数的作用主要就是使用在一些短小而使用非常频繁的函数中,为了减少函数调用的开销,为了避免使用宏(在c++中,宏是不建议使用的)。比如内联函数inline int func(int x){return x*x;} 在调用的时候cout<<func(x)<<endl,在编译时将被展开为:
cout<<(x*x)<<endl;
三、内联函数相对于宏的区别和优点
从上面的分析中,可以看出,内联函数在表现形式上与宏很类似。但是内联函数和宏之间的区别很明显。