c++ :inline 函数

inline 关键字

作用:替代C中表达式形式的宏定义。
表达式形式的宏定义一例:#define ExpressionName(Var1,Var2) (Var1+Var2)*(Var1-Var2)。它只是预编译器上符号表的简单替换,不能进行参数有效性检测及使用C++类的成员访问控制。

inline 推出目的:为了取代这种表达式形式的宏定义,消除它的缺点,同时又很好地继承它的优点。inline代码放入预编译器符号表中,高效;它是个真正的函数,调用时有严格的参数检测;它也可作为类的成员函数。

inline 函数:内联函数

形式:inline void fun(int a,int  b){}

原理:在调用它的函数中直接嵌入被调用inline函数的代码。

优势:一般情况下,高效。但inline函数过长,反而增加调用函数的容量。因为它会生成一份独立的拷贝。

默认情况:在类定义中的成员函数,不在函数前加inline,也默认为内联函数。意味着:每个对象都有该函数一份独立的拷贝。

特点:1、它是实现的函数。用于函数定义,当然在这个前提下,你在声明中加inline没有任何影响。但没在定义中使用关键字inline,却在声明中加了 ,会发生问题。

            2、不合格的inline,会被编译器拒绝内联。比如在一些内嵌函数中包含有循环或是这个函数体太大了,那么即使这个函数声明为inline,编译器也将拒绝这个函数的嵌入。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值