• More Effective C++ 精简版(目录)


    3.      基础议题  

    3.1    Item M1:指针与引用的区别

    3.2    Item M2:尽量使用C++风格的类型转换

    3.3    Item M3:不要对数组使用多态

    3.4    Item M4:避免无用的缺省构造函数

    4.      运算符

    4.1    Item M5:谨慎定义类型转换函数

    4.2    Item M6:自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别 27

    4.3    Item M7:不要重载“&&”,“||”, 或“,”

    4.4    Item M8:理解各种不同含义的newdelete

    5.      异常

    5.1    Item M9:使用析构函数防止资源泄漏

    5.2    Item M10:在构造函数中防止资源泄漏

    5.3    Item M11:禁止异常信息(exceptions)传递到析构函数外

    5.4    Item M12:理解“抛出一个异常”与“传递一个参数”或“调用一个虚函数”间的差异 

    5.5    Item M13:通过引用(reference)捕获异常

    5.6    Item M14:审慎使用异常规格(exception specifications)

    5.7    Item M15:了解异常处理的系统开销

    6.      效率

    6.1    Item M16:牢记8020准则(8020 rule)

    6.2
        Item M17:考虑使用lazy evaluation(懒惰计算法)

    6.3    Item M18:分期摊还期望的计算

    6.4    Item M19:理解临时对象的来源

    6.5    Item M20:协助完成返回值优化

    6.6    Item M21:通过重载避免隐式类型转换

    6.7    Item M22:考虑用运算符的赋值形式(op=)取代其单独形式(op)

    6.8    Item M23:考虑变更程序库

    6.9    Item M24:理解虚拟函数、多继承、虚基类和RTTI所需的代价

    7.      技巧(Techniques,又称Idioms Pattern)

    7.1    Item M25:将构造函数和非成员函数虚拟化

    7.2    Item M26:限制某个类所能产生的对象数量

    7.3    Item M27:要求或禁止在堆中产生对象

    7.4    Item M28:灵巧(smart)指针

    7.5    Item M29:引用计数

    7.6    Item M30:代理类

    7.7    Item M31:让函数根据一个以上的对象来决定怎么虚拟

    8.      杂项

    8.1    Item M32:在未来时态下开发程序

    8.2    Item M33:将非尾端类设计为抽象类

    8.3    Item M34:如何在同一程序中混合使用C++C

    8.4
        Item M35:让自己习惯使用标准C++语言

     

  • 相关阅读:
    51nod 1463 找朋友 (扫描线+线段树)
    51nod 1295 XOR key (可持久化Trie树)
    51nod 1494 选举拉票 (线段树+扫描线)
    51Nod 1199 Money out of Thin Air (树链剖分+线段树)
    51Nod 1287 加农炮 (线段树)
    51Nod 1175 区间中第K大的数 (可持久化线段树+离散)
    Codeforces Round #426 (Div. 1) B The Bakery (线段树+dp)
    前端基础了解
    git 教程
    HIVE 默认分隔符 以及linux系统中特殊字符的输入和查看方式
  • 原文地址:https://www.cnblogs.com/ethan/p/673480.html
Copyright © 2020-2023  润新知