inline 函数相关说明
来源:互联网 发布:vb控件加到窗体上 编辑:程序博客网 时间:2024/05/17 07:57
简介: 内联函数是指用inline关键字修饰的函数。在类内定义的函数被默认成内联函数。
内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。
内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。
一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。(一般来说,内联说明只是向编译器发出的一个请求,编译器可以忽略这个请求。)
优点:1、提高运行效率(不需要函数调用的开销,如:入栈出栈等)
2、使用与规模小,流程直接,频繁调用的函数
缺点:
1、增加空间的开销(在调用出直接嵌入函数体)
注意:
1、很多编译器都不支持内联递归函数,而且一个75行的函数也不大可能在调用点内联地展开。
2、内联函数声明与定义必须放在同一文件里,并且是放在.h头文件。需要对编译器可见。
3、对于C++而言,在类内定义的函数是隐式的inline 函数。
4、虽然无需在声明和定义的地方同时说明inline,但这么做是合法的。同时说明inline,这样使类更容易理解
PS:1 定义在类内部的函数隐式的位内联(inline)函数
sample.h
class sample{ public: char get() const { return content[cursor];} //(定义)隐式内联 inline char get (pos ht,pos wd) const; //显式内联}
PS:2 类内声明,类外定义
sample1.h
class sample1{ public: inline char get (pos ht,pos wd) const; //显式内联}inline char sample1::get (pos ht,pos wd) const //类外定义{ return contents[ht+wd];}
阅读全文
0 0
- inline 函数相关说明
- C++ inline函数相关总结
- 关于函数内联及相关关键字inline,__inline,__forceinline的详细说明
- GetDeviceCaps()函数相关说明
- Less相关函数说明
- Matlab 相关函数说明
- 网络编程相关函数说明
- 网络编程相关函数说明
- Oracle中相关函数说明
- Inline 函数
- Inline 函数
- inline函数
- inline 函数
- inline函数
- inline函数
- inline函数
- inline函数
- inline 函数
- Mac上搭建Xcode9.0+appium1.6.5过程及链接模拟器测试app
- jQuery 遍历
- curl 模拟表单发送
- 理解OAuth 2.0
- NLP概率图模型之隐马可夫模型需要的基础知识
- inline 函数相关说明
- C#中创建和使用动态链接库
- Java工厂设计模式
- 在CentOS7系统上部署nodejs
- ln链接
- Android Fragment 真正的完全解析(上)
- 对相机标定,然后对视频进行校正
- c3p0中的c3p0.preferredTestQuery配置,mysql和oracle配置不一样
- 利用元祖返回多个不同的对象