随笔分类 - C++
摘要:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类
阅读全文
摘要:代理模式是一种对象结构型模式,在该模式中引入了一个代理对象,在客户端和目标访问对象之间起到中介的作用。代理对象可以屏蔽或删除客户不想访问的内容和服务,也可以根据客户需求增加新的内容和服务
阅读全文
摘要:装饰模式是一种用于替代继承的技术。通过一种无须定义子类的方式给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有对象的方法,还可以增加新的方法,以扩充原有类的功能。
阅读全文
摘要:定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法可以独立于使用它的客户而变化
阅读全文
摘要:定义一个简单工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类
阅读全文
摘要:为驳回编译器自动(暗自)提供的技能,可将相应的成员函数声明为private并且不予实现。使用像Uncopyable这样的base class也是一种做法
阅读全文
摘要:编译器可以暗自为class创建default构造函数,copy构造函数,copy assignment操作符,以及析构函数
阅读全文
摘要:1. 为内置型对象进行手工初始化,因为c++不保证初始化它们
2. 构造函数最好使用成员初值列,而不要在构造函数本体内使用赋值操作。初值列列出的成员变量,其排列次序应该和它们在class中的声明次序相同
3. 以免除"跨编译单元之初始化次序"问题,请以local static对象替换non-local static对象
阅读全文
摘要:1. 将某些东西声明为const 可帮助编译器侦测出错误用法。const可被施加于任何作用内的对象,函数参数,函数返回类型,成员函数本体
2. 编译器强制实施bitwise constness,但你编写程序时应该使用"概念上的常量型"
3. 当const和non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可避免代码重复
阅读全文
摘要:1. 对于单纯常量,最好以const对象或enum替换#define
2. 对于形似函数的宏,最好改用inline函数替换#define
阅读全文
摘要:c++高效编程守则视状况而变化,取决于你使用c++的哪一部分
阅读全文

浙公网安备 33010602011771号