C++ inline 函数理解
来源:互联网 发布:ubuntu 禁用guest 编辑:程序博客网 时间:2024/06/13 09:57
网上有很多关于inline的理论讲解,这里记录一下这两天本人的测试结果:
1,inline既可以针对类的非静态成员函数,也可以针对普通函数。
2,debug版本程序一般是禁用inline的,所以调试的时候总是能看到调用inline函数会产生函数栈。
3,release版本程序调用inline的时候只是在调用处将函数体展开,(当然编译器做了很多优化),没有函数符号链接这一步工作。所以inline函数的定义一般放在.h文件中,如果放在类的cpp文件中将会导致编译不过。(当然也可以将定义放在调用的文件中,不过这样会有很多缺点)
4,将函数的声明或定义的任意一个地方或都指明inline都是可以的。(本人亲自测试过VC++6.0编译的release程序。)
5,将函数定义直接放在class声明内相当于告诉编译器将函数声明为inline
6,构造函数和析构函数都可以声明为inline
7,虚函数也可以声明为inline(虚函数什么情况下不会内联:http://blog.csdn.net/passion_wu128/article/details/8104229)
8,声明为inline和编译器是否做inline处理是两回事,一般调用了输入输出等复杂函数编译器是不会做inline处理的。
- C++ inline 函数理解
- 理解inline函数
- 理解内联函数inline在C 中的用法
- C 函数 inline
- C-inline函数
- [C++]inline函数
- c++-inline 内联函数
- C++inline函数阐述
- c inline函数
- C语言inline函数
- 【C++】内联函数,inline
- C++inline函数简介
- c++inline内联函数
- C语言inline函数
- C++inline函数浅析
- 理解GCC中的inline函数
- C++——inline函数
- c语言中的inline函数
- linux HID驱动分析 .
- 分析解决:XXX驱动已经被编译到缺省内核中,不能再使用insmod 方式加载
- 黑马程序员——day07jsp
- Linux设备模型 .
- 输出文件长度
- C++ inline 函数理解
- AMPS:AES模块源码解读
- struts2每日一记1
- 与监听有关的一些错误
- PMML(一):初探
- C++类对象内存结构
- OSGi为什么重要:向模块化转移的主攻手
- 转:過度自信是創業者的通行證
- git用法小结