码迷,mamicode.com
首页 >  
搜索关键字:effective    ( 1955个结果
Effective C++ 条款七 为多态基类声明virtual析构函数
class TimeKeeper { public: TimeKeeper(); // ~TimeKeeper(); 错误,此作为一个基类,被继承了。其继承类被delete后,基类被销毁,但继承类可能没被销毁 virtual ~TimeKeeper();//必须声明为virtual类型才可以。 pr...
分类:编程语言   时间:2014-08-15 17:35:59    阅读次数:202
Effective C++ 条款六 若不想使用编译器自动生成的函数,就该明确拒绝
class HomeForSale //防止别人拷贝方法一:将相应的成员函数声明为private并且不予实现 { public: private: HomeForSale(const HomeForSale&); HomeForSale& operator = (const HomeForSale&...
分类:编程语言   时间:2014-08-15 17:34:39    阅读次数:182
Effective C++ 条款三 尽可能使用const
参考资料:http://blog.csdn.net/bizhu12/article/details/6672723 const的常用用法小结 1.用于定义常量变量,这样这个变量在后面就不可以再被修改 const int val = 90; val = 100; 错误 2. 保护传参时参数不被修改,如...
分类:编程语言   时间:2014-08-15 14:19:08    阅读次数:196
Effective C++ 条款四 确定对象被使用前已被初始化
1、对于某些array不保证其内容被初始化,而vector(来自STL)却有此保证。 2、永远在使用对象前初始化。对于无任何成员的内置类型,必须手工完成。 int x = 0; const int * p = &x; 3、不要混淆赋值与初始化的区别。一般初始化在定义的时候一起进行。而赋值是在定义之后...
分类:编程语言   时间:2014-08-15 14:12:18    阅读次数:186
学习日记之享元模式和Effective C++
享元模式(Flyweight):运用共享技术有效地支持大量细粒度的对象。 (1),享元模式可以避免大量非常相似的开销。在程序设计中,有时需要生成大量细粒度的类实例来表示数据。如果能发现这些实例除了几个参数外基本上都是相同的,有时就能大幅度地减少需要实例化的类的数量。如果能把这些参数移到类的外面,在方法调用时将他们传递进来,就可以通过共享大幅度减少实例的数目。 (2),如果一个应用使用了大量的对...
分类:编程语言   时间:2014-08-15 00:02:06    阅读次数:218
学习日记之中介者模式和Effective C++
中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 (1),中介者模式很容易在系统中应用,也很容易在系统中误用。当系统出现多对多交互复杂的对象群时,不要急于使用中介者模式,而要反思你在系统的设计上是不是合理。 (2),中介者的出现减少了各个对象的耦合,使得可以独立地改变和复用各个对象和中...
分类:编程语言   时间:2014-08-13 22:26:37    阅读次数:422
学习日记之职责链模式和Effective C++
职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着该条链传递该请求,直到有一个对象处理它为止。 (1),当客户提交一个请求时,请求时沿着链传递直到有一个 ConcreteHandler 对象负责处理它。 (2),接收者和发送者都没有对方的明确信息,切链中的对象自己也不知道链的...
分类:编程语言   时间:2014-08-12 22:05:24    阅读次数:316
学习日记之命令模式和Effective C++
命令模式(Command): 讲一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求队列或记录请求日志,以及支持可撤销的操作。 命令模式优点: (1),它能较容易地设计一个命令队列。 (2),在需要的情况下,可以较容易地将命令计入日志。 (3),允许接收请求的一方决定是否要否决请求。 (4),可以容易地实现请求的撤销和重做。 (5),由于加进新的具体命令类不影...
分类:编程语言   时间:2014-08-12 00:41:43    阅读次数:226
C++书籍推荐
《C++程序设计语言》 《C++语言设计与演化》 《C++标准程序库》 《EFFECTIVE C++ 中文版》 《MORE EFFECTIVE C++ 中文版》 《C++ PRIMER 中文版》 《C++沉思录》 《C++ STL中文版》 《C++ PRIMER PLUS 中文版》 《深度探索C++对象模型》 《C++设计新思维——泛型编程与设计模式之应用》 《对象揭秘:Ja...
分类:编程语言   时间:2014-08-11 21:35:33    阅读次数:335
stl学习记录
Effective STL 中文版学习记录条款4 判断容器是否为空 使用empty而不是size().size()操作在实现上不是一个时间常数操作条款5 尽量使用区间成员函数代替它们的单元素兄弟.STL实现中,区间范围显示比单个循环操作更优化条款7:当使用new得指针的容器时,记得在销毁容器前del...
分类:其他好文   时间:2014-08-11 14:48:02    阅读次数:191
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!