C++内联函数概念(inline)

本文介绍了C++内联函数的引入原因,由于预处理宏存在的问题,内联函数应运而生,以提供更高的效率和安全性。内联函数不仅避免了函数调用的开销,还具备参数和返回值的检查,同时可以作为类的成员函数。在类内部定义的函数默认为内联函数,而是否真正实现内联由编译器决定,编译器会根据参数匹配和返回值类型来决定是否内联。
摘要由CSDN通过智能技术生成

内联函数的引出

C++从C中继承的重要特征就是效率。若 C++的效率明显低于C的效率,估计很大一批程序员不会去使用C++了。
在C中我们常把一些频繁使用的计算写成宏,而不是函数,这样做的理由时为了提高执行效率,宏避免函数调用的开销,这些东西都在预处理阶段完成。
但是C++出现后,预处理会出现两个问题:
1.宏看起来像一个函数调用,但会有隐藏的一些难以发现的错误。
2.C++ 预处理不允许访问类成员,也就是说预处理宏不能做类的成员函数。

为保证预处理的效率又增加安全性,而且还能像一般函数那样可以在类里访问自如,C++引用内敛函数。
内联函数为了继承宏函数效率,没有函数调用的开销,又可以像普通函数进行参数,返回值类型的安全检查,又可以作为成员函数。

预处理的缺陷

#define ADD(x, y) x + y
inline int add(int x, int y)
{
   
	return x + y;
}
void test01()
{
   
	int ret1 = ADD(10, 20) * 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值