透彻了解inline的里里外外——effective c++学习笔记
来源:互联网 发布:知行结合 编辑:程序博客网 时间:2024/04/30 16:04
inline背后的整体观念:将“对此函数的每一次调用”都以函数本体替换之。
inline在大多数c++程序中是编译器行为。
inline是个申请,编译器可以忽略。
inline对virtual函数的申请一般都会失败。
一个表面看似inline的函数是否真实inline,取决于你的建置环境,主要取决于编译器。
编译器通常不对“通过函数指针而进行的调用”实施inline。
对inline函数调用有可能被inline,也可能不被inlined,取决于实施的方式。
不要将Derived(子类)构造函数和析构函数定义为inlined。
程序库的设计者必须评估“将函数声明为inlined”。更改inlined函数需要主程序进行重新编译。
一开始先不要将任何函数声明为inlined。
至于inline可以提高效率,可以遵循80-20原则:80%的时间花费在20%的代码上。然后对这20%的函数进行优化,包括inlined。
请记住:
1、 将大多数inlining函数限制在小型,被频繁调用的函数身上。这可使日后的调试过程和二进制升级更加容易,也可以使潜在的代码膨胀问题最小化。
2、 不要因为function template出现在头文件,就将他们声明为inline。
- 透彻了解inline的里里外外——effective c++学习笔记
- 《Effective C++》学习笔记条款30 透彻了解inlining的里里外外
- 《Effective C++》读书笔记之item30:透彻了解inlining的里里外外
- Effective C++:条款30:透彻了解inlining的里里外外
- 《Effective C++》:条款30:透彻了解inlining的里里外外
- 读书笔记《Effective C++》条款30:透彻了解inlining的里里外外
- 条款30:透彻了解inline的里里外外
- 透彻了解 inline的里里外外 绝不是那么简单
- C++之透彻了解inlining的里里外外(30)---《Effective C++》
- Item 30:理解inline函数的里里外外 Effective C++笔记
- 条款30:透彻了解inlining的里里外外
- 条款30:透彻了解inlining的里里外外
- 条款30:透彻了解inlining的里里外外
- 条款30:透彻了解inlining的里里外外
- 条款30:透彻了解inlining的里里外外
- 条款30:透彻了解inlining的里里外外
- item30: 彻底了解inline的里里外外
- Effective C++读书笔记---透彻了解Inline函数
- C++科学计算库
- IBM待遇完全揭密--工资 级别等(网上摘抄)
- MFC GetWindowRect, GetClientRect和ScreenToClient
- 进程调度-时间片轮转算法
- 优化php代码的42条建议
- 透彻了解inline的里里外外——effective c++学习笔记
- jQuery智能提示插件
- 为“异常安全的努力”是值得的——effective c++学习笔记
- 玩过,但你知道么?俄罗斯方块的旋转算法。。。
- ORACLE 数据库逻辑备份 简单 EXP/IMP
- 28避免返回handles指向对象内部成分——effective c++
- 27尽量少做类型转换——effective c++学习笔记
- 25考虑写出一个不抛出异常的swap函数——effective c++学习笔记
- GridView 学习