C++内联函数总结
来源:互联网 发布:java 打飞船的游戏 编辑:程序博客网 时间:2024/05/29 02:05
C++内联函数
Inline函数,看起来像函数,动作像函数,没有宏的副作用,可以调用它们又没有函数调用的额外开销。多好的内联函数
实际上,获得的比想象的还要多,避免函数调用的额外开销只是它好处的一部分而已。编译器还可以通过最优化机制(被设计用来浓缩那些‘不含函数调用的代码‘的代码),所以当inline某个函数,编译器可能就有能力对它执行语境相关最优化。
但是函数调用会增加目标代码的大小,然而,如果inline函数的本体很小,编译器针对‘函数本体‘产出的代码可能比‘函数调用’产生的目标代码更小。
总结:
内联函数优点:
1 没有宏的副作用
2 没有函数调用的额外开销
3 编译器可通过最优化机制优化代码
缺点:
可能是目标代码增大,所以,使用时,函数本体一定要足够小
使用注意:
1 inline声明函数为内联函数只是对编译器的一个申请,不是强制的
2 将函数定义在class定义式内默认是内联的
3 析构函数和构造函数往往是inline糟糕的候选人(想想析构构造都做了什么)
4 inline函数是否内联还取决于它的调用方式
如: inline void fuc(){}
typedef void (*PF)();
PF pf = fuc;
fuc(); //内联的,正常调用
pf(); //不一定内联,通过函数指针调用
0 0
- C语言中的内联函数(总结)
- 【C++】 C++中的内联函数inline总结
- [C++] inline函数_内联函数的一些总结【转载】
- 内联函数学习总结
- 内联函数 -- inline总结
- 内联函数总结
- 内联函数学习总结
- C++内联函数总结
- 内联函数总结
- 内联函数(inline)总结
- 内联函数总结
- 内联函数总结
- C语言内联函数
- C++:内联函数
- C 内联函数
- c++-inline 内联函数
- C语言内联函数
- C++_inline内联函数
- 卡塔兰数应用----所有括号的组合
- hdu 2546 饭卡 <01背包+贪心>
- 6.UICollectionViewController和UITableViewController之间的异同
- URAL 1009K-based Numbers dp练习
- java与python在处理大文件操作上的对比
- C++内联函数总结
- SQL入门经典3-8章节笔记
- 【图论】[CQBZOJ1362] 苗条的生成树
- 【图论】[ZOJ1002]Fire Net
- Ajax提高篇(7)Ajax实现简单的下拉框联动显示数据
- HTML 5 <input> placeholder 属性
- C++中的指针和指针的引用
- 如何理解file‘s owner
- Masonry介绍与使用实践:快速上手Autolayout