inline内联函数总结
2018-02-07 10:50
190 查看
inline只是对编译器的一个申请,不是强制命令。
优点:
1,比宏的坑少,而且减少函数调用所招致的额外开销。
缺点:
1,有可能使目标代码增加,减少了高速缓存的命中率(如果编译器针对“函数本身”所产出的码可能比针对“函数调用”所产出的码更小。果真如此,将函数inlining确实可能导致较小的目标码和较高的缓存装置命中率)。
2,调试时,比较难跟踪。
3,inline函数更改,其他包含inline函数的模块也应相应重新编译。
可能不inline:
1,函数指针指向inline函数,调用inline函数地址时,编译器必须为此函数生成一个outlined函数本体。
2,虚函数的调用。
3,子类的构造函数和析构函数。
参考:effective C++ 30条
优点:
1,比宏的坑少,而且减少函数调用所招致的额外开销。
缺点:
1,有可能使目标代码增加,减少了高速缓存的命中率(如果编译器针对“函数本身”所产出的码可能比针对“函数调用”所产出的码更小。果真如此,将函数inlining确实可能导致较小的目标码和较高的缓存装置命中率)。
2,调试时,比较难跟踪。
3,inline函数更改,其他包含inline函数的模块也应相应重新编译。
可能不inline:
1,函数指针指向inline函数,调用inline函数地址时,编译器必须为此函数生成一个outlined函数本体。
2,虚函数的调用。
3,子类的构造函数和析构函数。
参考:effective C++ 30条
相关文章推荐
- C++中的内联函数inline总结
- C++中的内联函数inline总结
- 关于内联函数的几点总结以及构造析构是否可以是inline的
- C++中的内联函数inline总结
- C++中的内联函数inline总结
- 内联函数 -- inline总结
- C++中的内联函数inline总结
- Inline内联函数的总结贴
- Inline内联函数的总结贴
- inline函数_内联函数的一些总结
- C++中的内联函数inline总结
- Inline内联函数的总结贴
- C++中的内联函数inline总结
- 内联函数(inline)总结
- [c&cpp] 内联函数(inline)总结
- C++中的内联函数inline总结
- 【C++】 C++中的内联函数inline总结
- inline内联函数1
- C++内联函数(Inline)介绍
- 内联函数(inline)机制与陷阱