inline函数
inline函数可以减少程序开销,主要用于小型函数。
任何在类中定义的函数自动地成为内联函数,但也可以使用inline关键字放在类外定义的函数前面使之成为内联函数。
inline函数和一般函数的调用机理不一样。inline函数类似于宏展开,只是字符串替换,没有保存环境、压栈之类的。一般函数有保存和压栈。使用inline函数主要是为了减少函数调用的开销,但是不能应对比较复杂或者递归的函数了
class A
{
int i;
void set(int j){i = j;}//这个是自动内联
void f(int);
}
inline void A::f(int k) //外部添加成为内联
{
i = k;
}
friend函数也可以是inline函数
任何在类中定义的函数自动地成为内联函数,但也可以使用inline关键字放在类外定义的函数前面使之成为内联函数。
inline函数和一般函数的调用机理不一样。inline函数类似于宏展开,只是字符串替换,没有保存环境、压栈之类的。一般函数有保存和压栈。使用inline函数主要是为了减少函数调用的开销,但是不能应对比较复杂或者递归的函数了
class A
{
int i;
void set(int j){i = j;}//这个是自动内联
void f(int);
}
inline void A::f(int k) //外部添加成为内联
{
i = k;
}
friend函数也可以是inline函数
转载于:https://blog.51cto.com/cmdblock/116089