Chapter 2. Constructors(构造函数),Destructors(析构函数)与 Assignment Operators(赋值运算符) 作者: 译者: 发布: 几乎每一个你自己写的
Chapter 4. Designs(设计)和 Declarations(声明) 作者: 译者: 发布: 软件设计——使软件能做你想让它做的事情的途径&
Item 8: 防止因为异常而离开析构函数 C++ 并不禁止从析构函数中引发异常,但是这确实妨碍了实践。至于有什么好的理由,考虑: class Widget { public: ... ~Wi
Item 9: 绝不要在构造或析构期间调用虚函数 我要开始翻新轮胎:你不应该在构造或析构期间调用虚函数,因为这样的调用不会如你想象那样工作,而且它们做的事情保证会让你很郁闷。如果你转为 Java 或
Chapter 7. Templates(模板)和 Generic Programming(泛型编程) 作者: 译者: 发布: C++ templates(C++ 模板)的最初动机是直截了当的:使得创
Chapter 7. Templates(模板)和 Generic Programming(泛型编程) 作者: 译者: 发布: C++ templates(C++ 模板)的最初动机是直截了当的:使得创
Chapter 6. Inheritance(继承)和 Object-Oriented Design(面向对象设计) Object-oriented programming (OOP) 已经流行了差不
Item 23: 用非成员非友元函数取代成员函数 想象一个象征 web 浏览器的类。在大量的函数中,这样一个类也许会提供清空已下载成分的缓存。清空已访问 URLs 的历史,以及从系统移除所有 cook
Item 14: 谨慎考虑资源管理类的拷贝行为 Item 13 介绍了作为资源管理类支柱的 Resource Acquisition Is Initialization (RAII) 原则,并描述了
第三章 资源管理资源是这样一些东西:一旦你不再使用它,你需要把它还给系统。如果你不这样做,有百害而无一利。在 C++ 程序中,最普遍使用的资源是动态分配的内存(dynamically allocate