Shuffy

不断的学习,不断的思考,才能不断的进步.Let's do better together!
posts - 102, comments - 43, trackbacks - 0, articles - 19

2007年11月16日

     摘要: 铭记在心

l 异常安全的函数即使在异常抛出时,也不会带来资源泄露,同时也不允许数据结构遭到破坏。这类函数提供基本的、增强的、零异常的三个层面的异常安全保证。

l 增强保证可以通过复制并交换策略来实现,但是增强保证并不是对所有函数都适用。

l 函数所提供的异常安全保证通常不要强于其调用的函数中保证层次最弱的一个。
  阅读全文

posted @ 2007-11-16 19:01 Shuffy 阅读(168) | 评论 (0)编辑 收藏

     摘要: 铭记在心

l 避免返回指向对象内部部件的句柄(引用、指针或迭代器)。这样做可以增强封装性,帮助 const 成员函数拥有更加“ const ”的行为,并且使“野句柄”出现的几率降至最低。
  阅读全文

posted @ 2007-11-16 18:58 Shuffy 阅读(156) | 评论 (0)编辑 收藏

     摘要: l 尽可能避免使用转型,尤其是在对性能敏感的代码中不要使用动态转型 dynamic_cast 。如果一个设计方案需要使用转型,要尝试寻求一条不需要转型的方案来取代。

l 在必须使用转型时,要尝试将其隐藏在一个函数中。这样客户端程序员就可以调用这些函数,而不是在他们自己的代码中使用转型。

l 要尽量使用 C++ 风格的转型,避免使用怀旧风格的转型。现代的转型更易读,而且功能更为具体化。
  阅读全文

posted @ 2007-11-16 18:56 Shuffy 阅读(182) | 评论 (0)编辑 收藏

     摘要: Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制。DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息。Win32程序在绘制图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉。  阅读全文

posted @ 2007-11-16 18:50 Shuffy 阅读(2453) | 评论 (0)编辑 收藏