洛译小筑

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

05 2007 档案

[ECPP读书笔记 条目19] 要像设计类型一样设计class
     摘要: class设计就是类型的设计。在定义一个新的类型之前,要确保将本条目中所有的问题考虑周全。  阅读全文

posted @ 2007-05-20 23:30 ★ROY★ 阅读(772) | 评论 (2)  编辑

[ECPP读书笔记 条目18] 要让接口易于正确使用,而不易被误用
     摘要: 优秀的接口应该易于正确使用,而不易误用。对所有的接口都应该力争做到这一点。
保持与内置数据类型有一致的行为,是使接口易于正确使用的一种可行的方法
防止错误发生的方法有:创建新的数据类型,严格限定类型的操作,约束对象的值,不要将管理资源的任务留给客户端程序员。
tr1::shared_ptr支持自定义的删除功能。这可以防止“跨DLL问题”,可以应用与自动解开互斥锁等情况。
  阅读全文

posted @ 2007-05-18 23:30 ★ROY★ 阅读(741) | 评论 (0)  编辑

[ECPP读书笔记 条目17] 用智能指针存储由new创建的对象时要使用独立的语句
     摘要: 在单独的语句中使用智能指针来保存由new创建的对象。如果不这样做,你的程序会在抛出异常时发生资源泄漏。
  阅读全文

posted @ 2007-05-15 23:12 ★ROY★ 阅读(1224) | 评论 (89)  编辑

[ECPP读书笔记 条目16] 互相关联的new和delete要使用同样的形式
     摘要: 如果你在一个new语句中使用了[],那么你必须要在相关的delete语句中使用[]。如果你在new语句中没有使用[],那么在相关的delete语句中一定不要出现[]。
  阅读全文

posted @ 2007-05-14 22:15 ★ROY★ 阅读(969) | 评论 (0)  编辑

[ECPP读书笔记 条目15] 要为资源管理类提供对原始资源的访问权
     摘要: API通常需要访问原始资源,因此每个RAII类都应该提供一个途径来获取它所管理的资源。
访问可以通过显式转换或隐式转换来实现。一般情况下,显式转换更安全,但是隐式转换对于客户端程序员来说使用更方便。
  阅读全文

posted @ 2007-05-13 20:54 ★ROY★ 阅读(682) | 评论 (0)  编辑

[ECPP读书笔记 条目14] 要注意资源管理类中的复制行为
     摘要: 复制一个RAII对象的同时也要复制其所管理的对象,所以资源管理的复制行为由RAII对象的复制行为决定。
一般的RAII类在复制时应遵循两条原则:不允许使用复制,要进行资源计数。
  阅读全文

posted @ 2007-05-11 18:40 ★ROY★ 阅读(798) | 评论 (1)  编辑

[ECPP读书笔记 条目13] 使用对象来管理资源
     摘要: 为了避免资源泄漏,可以使用RAII对象,使用构造函数获取资源,析构函数释放资源。
auto_ptr或TR1::shared_ptr是两个常用并且实用的RAII类。通常情况下TR1::shared_ptr是更好的选择,因为它的复制行为更加直观。复制一个auto_ptr将会使其重设为null。
  阅读全文

posted @ 2007-05-07 18:52 ★ROY★ 阅读(816) | 评论 (0)  编辑

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

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