洛译小筑

别来无恙,我的老友…
随笔 - 45, 文章 - 0, 评论 - 172, 引用 - 0
数据加载中……

[ECPP读书笔记 条目12] 要复制整个对象,不要遗漏任一部分

     摘要: 要确保拷贝函数拷贝对象的所有的数据成员,及其基类的所有部分,不要有遗漏。
不要尝试去实现一个拷贝函数来供其它的拷贝函数调用。取而代之的是,把公共部分放入一个“第三方函数”中共所有拷贝函数调用。
  阅读全文

posted @ 2007-05-03 21:15 ★ROY★ 阅读(866) | 评论 (1)编辑 收藏

[ECPP读书笔记 条目11] 在operator=中要考虑到自赋值问题

     摘要: 劳动者万岁!
在一个对象为自己赋值时,要确保operator=可以正常地运行。可以使用的技术有:比较源对象和目标对象的地址、谨慎安排语句、以及“复制并交换”。
在两个或两个以上的对象完全一样时,要确保对于这些重复对象的操作可以正常运行。
  阅读全文

posted @ 2007-04-30 18:38 ★ROY★ 阅读(1170) | 评论 (1)编辑 收藏

[ECPP读书笔记 条目10] 让赋值运算符返回一个指向*this的引用

     摘要: 让赋值运算符返回一个指向*this的引用。
  阅读全文

posted @ 2007-04-28 20:35 ★ROY★ 阅读(1047) | 评论 (4)编辑 收藏

[ECPP读书笔记 条目9] 永远不要在构造或析构的过程中调用虚函数

     摘要: 在程序进行构造或析构期间,你绝不能调用虚函数,这是因为这样的调用并不会按你所期望的执行,即使能够顺利执行,你也不会觉得十分舒服。
  阅读全文

posted @ 2007-04-27 22:37 ★ROY★ 阅读(1496) | 评论 (4)编辑 收藏

[ECPP读书笔记 条目8] 防止因异常中止析构函数

     摘要: 永远不要让析构函数引发异常。如果析构函数所调用的函数会抛出异常的话,那么在析构函数中要捕捉到所有异常,然后忽略它们或者终止程序。
在一次操作中,如果一个类的使用者有能力对抛出异常作出反应,那么这个类应该提供一个常规的函数(而不是析构函数)来进行这一操作。
  阅读全文

posted @ 2007-04-22 14:00 ★ROY★ 阅读(1411) | 评论 (3)编辑 收藏

神秘的村庄,聪明的村民,得病的狗,正午的枪声

     摘要: 从前有一个村庄,村庄里有若干个村民,村民都非常的聪明,对于各种复杂的问题他们都能够仔细的观察,并能做出你所能做的一切分析和判断,他们每个人都养且仅养一条狗。有一天,所有的村民接到了一条确切的消息:村里的狗中有若干条得了一种病(这种病不会传染)...  阅读全文

posted @ 2007-04-21 18:15 ★ROY★ 阅读(1205) | 评论 (9)编辑 收藏

[ECPP读书笔记 条目7] 要将多态基类的析构函数声明为虚函数

     摘要: 应该为多态基类声明虚析构函数。一旦一个类包含虚函数,它就应该包含一个虚析构函数。
如果一个类不用作基类或者不需具有多态性,便不应该为它声明虚析构函数。
  阅读全文

posted @ 2007-04-20 21:59 ★ROY★ 阅读(1338) | 评论 (2)编辑 收藏

[ECPP读书笔记 条目6] 要显式禁止编译器为你生成不必要的函数

     摘要: 为了禁用编译器自动提供的功能,你必须将相关的成员函数声明为private的,同时不要实现它。方法之一是:使用一个类似于Uncopyable的基类。
  阅读全文

posted @ 2007-04-18 23:21 ★ROY★ 阅读(1035) | 评论 (1)编辑 收藏

[ECPP读书笔记 条目5] 要清楚C++在后台为你书写和调用了什么函数

     摘要: 编译器可能会隐式为一个类生成默认构造函数、复制构造函数、拷贝赋值运算符和析构函数。
  阅读全文

posted @ 2007-04-17 19:34 ★ROY★ 阅读(1068) | 评论 (1)编辑 收藏

[ECPP读书笔记 条目4] 确保对象在使用前得到初始化

     摘要: 为了避免在对象初始化之前使用它,你仅仅需要做三件事。第一,手动初始化基本类型的非成员对象。第二,使用成员初始化表来初始化对象的每一部分。最后,初始化次序的不确定性会使定义于不同置换单元中的非局部静态对象之间产生冲突,要避免这样的设计。
  阅读全文

posted @ 2007-04-15 20:23 ★ROY★ 阅读(1583) | 评论 (4)编辑 收藏

仅列出标题
共5页: 1 2 3 4 5