inline

本文详细解析了C++内联函数inline的产生背景、具体作用及使用方法,强调了其与宏定义的区别与优势,并通过实例展示了如何在类中定义内联函数。同时,阐述了在类外使用inline定义函数成员的情况,强调了内联函数在提高代码效率和维护性方面的价值。
摘要由CSDN通过智能技术生成

 

1) 产生背景

inline这个关键字的引入原因和const十分相似,inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。

表达式形式的宏定义一例:

   #define ExpressionName(Var1,Var2) (Var1+Var2)*(Var1-Var2)

       这种表达式形式宏形式与作用跟函数类似,但它使用预编译器,没有堆栈,使用上比函数高效。但它只是预编译器上符号表的简单替换,不能进行参数有效性检测及使用C++类的成员访问控制。

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

 

2) 具体作用

       直接在class类定义中定义各函数成员,系统将他们作为内联函数处理; 成员函数是内联函数,意味着:每个对象都有该函数一份独立的拷贝。

在类外,如果使用关键字inline定义函数成员,则系统也会作为内联函数处理;

 

 

 

 

 

 

 转载http://blog.csdn.net/stilling2006/archive/2009/03/27/4028316.aspx 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值