c++ 内联函数

inline 是一种“用于实现的关键字”,而不是一种“用于声明的关键字”。所以inline应该出现在函数定义处。其目的是为了提高函数的执行效率,用关键字 inline 放在函数定义(注意是定义而非声明,下文继续讲到)的前面即可将函数指定为内联函数,内联函数通常就是将它在程序中的每个调用点上“内联地”展开。
inline int min(int a,int b)  
    {  
        return a<b?a:b;  
    } 

在编译时展开为: cout<<(a < b ? a : b)<<endl;

从而消除了把 min写成函数的额外执行开销

类中inline函数的使用:

1.在类里定义的成员函数会被默认的认为是指定为内置函数 

class Com  
{  
public:  
    int min(int a,int b)  
    {  
        return a<b?a:b;  
    }   
};  
  
int main(int argc, char* argv[])  
{  
    Com c;  
    cout<<c.min(1,2)<<endl;  
    return 0;  
}  

2.在头文件中内外加inline关键字定义

class Com  
{  
public:  
    int min(int a,int b) ;  
};  
inline int min(int a,int b)  
{ return a<b?a:b; } int main(int argc, char* argv[]) { Com c; cout<<c.min(1,2)<<endl; return 0; }

3.在类外mian函数所在cpp文件加inline关键字定义

inline int min(int a,int b)  
    {  
        return a<b?a:b;  
    }   

int main(int argc, char* argv[])  
{  
    Com c;  
    cout<<c.min(1,2)<<endl;  
    return 0;  
}  

普通函数的调用内联函数

直接在函数前加inline关键字定义

inline int min(int a,int b)  
    {  
        return a<b?a:b;  
    }   

int main(int argc, char* argv[])  
{  
    Com c;  
    cout<<c.min(1,2)<<endl;  
    return 0;  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值