inline的使用
来源:互联网 发布:经合组织数据库 编辑:程序博客网 时间:2024/06/14 10:23
参考至:点击打开链接
inline是加在实现上,就算加在声明上,编译器也会忽略掉。内联展开是在编译时进行的,只有链接的时候源文件之间才有关系。所以内联要想跨源文件必须把实现写在头文件里。如果一个inline函数会在多个源文件中被用到,那么必须把它定义在头文件中。
C++里,inline是定义时有效的特性,声明时写是没用的,所以C++里内联函数一般就是你在类的声明里定义的函数,或者类的声明外边定义的函数(定义需要inline,声明不需要)。
注意:将函数的定义({…}之间的部分)放在头文件中是强制的,除非该函数仅仅被单个.cpp 文件使用。尤其是,如果你将内联函数的定义放在.cpp 文件中并且在其他.cpp文件中调用它,连接器将给出 “unresolved external” 错误。
最佳实践是:仅把inline关键字放在类外部函数的定义前。
inline函数的特征是在调用的地方插入相应函数的代码,所以编译之后的目标文件里是没有inline函数体的,因为在要调用的地方它都已经用相应的语句替换掉了(当然这只限于内联成功的情况)。如果我们将inline函数写在cpp文件里,但是绝大多数情况下,在我们用第三方类库的时候,我们只有头文件和目标文件(没有cpp文件),当你调用那个内联函数时,编译器没办法找到它。所以说将inline函数写在cpp文件中是没什么用的。
原文
http://bbs.csdn.net/topics/10198835
http://www.caole.net/diary/inline_function.html
http://huxiongwei.spaces.eepw.com.cn/articles/article/item/85841
- inline函数的使用
- inline的使用
- inline的使用
- inline-block 的使用
- [inline]C99中inline的使用
- 使用inline函数的注意事项
- 关于inline函数的使用
- 内联函数inline的使用
- inline 内联函数的使用
- 内联函数:inline的使用
- C/C++中inline/static inline/extern inline的区别及使用
- inline 函数的使用以及注意事项
- inline 函数的使用小结之一
- inline内联函数的使用及原因
- C++中inline函数的使用
- 左右对齐,form-inline样式的使用
- 代码与inline关键字的使用
- css inline-block 与 float的使用
- 【bzoj 3212】【POJ 3468】A Simple Problem with Integers(线段树)
- Hard 154题 Find Minimum in Rotated Sorted Array II
- 网易2017内推笔试题-数字游戏
- 父类引用指向子类对象
- Redis应用场景
- inline的使用
- CodeForces 501C Misha and Forest
- 理解JIT 编译器
- Java四类八种基本数据类型
- android color.xml
- Redis和其它键值对存储数据库有什么不同
- 使用RSA证书加密敏感数据
- ubuntu16.04开机循环输入密码无法进入桌面的解决办法
- 周末小记-ZooKeeper集群安装部署