码迷,mamicode.com
首页 > 其他好文 > 详细

inline

时间:2020-03-21 16:34:03      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:操作   成员   不可   解释   ike   大神   目的   就是   his   

这就是一篇凑数量的博客。

其实没想写这一篇,但是上课时提到inline就激发了我的好奇心。inline是什么?在c++中inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义

取代这种形式的原因如下:

1. C中使用define这种形式宏定义的原因是因为,C语言是一个效率很高的语言,这种宏定义在形式及使用上像一个函数,但它使用预处理器实现,没有了参数压栈,代码生成等一系列的操作,因此,效率很高,这是它在C中被使用的一个主要原因。

2. 这种宏定义在形式上类似于一个函数,但在使用它时,仅仅只是做预处理器符号表中的简单替换,因此它不能进行参数有效性的检测,也就不能享受C++编译器严格类型检查的好处,另外它的返回值也不能被强制转换为可转换的合适的类型,这样,它的使用就存在着一系列的隐患和局限性。

3. 在C++中引入了类及类的访问控制,这样,如果一个操作或者说一个表达式涉及到类的保护成员或私有成员,你就不可能使用这种宏定义来实现(因为无法将this指针放在合适的位置)。

4. inline 推出的目的,也正是为了取代这种表达式形式的宏定义,它消除了宏定义的缺点,同时又很好地继承了宏定义的优点。

看网上的解释是为了方便,好像在目前做的题中没有用过inline,但是我在网上也没有看到用法,所以有没有大神回答我,菜鸡在线求助。

inline

标签:操作   成员   不可   解释   ike   大神   目的   就是   his   

原文地址:https://www.cnblogs.com/lizhengde/p/12539802.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!