
More Effective C++
thy38
这个作者很懒,什么都没留下…
展开
-
More Effective C++ 读书摘要(三、异常)Item9 - 15
为什么一定要使用异常?答案很简单:异常不能被忽略。Item9.使用析构函数防止资源泄漏:通过智能指针auto_prt将清除代码放入其析构函数里。核心部分如下:templateclass auto_ptr {public: auto_ptr(T *p=0): ptr(p) {} ~auto_ptr() {delete ptr;} private:原创 2009-04-11 20:38:00 · 868 阅读 · 0 评论 -
More Effective C++ 读书摘要(auto_ptr的一个实现)
下面是两个auot_ptr的实现。第一个版本文档化了类的接口并在类的定义体外面实现了所有的成员函数。第二个版本将所有的成员函数都实现在定义体内了。 在风格上,第二个实现不如第一个,因为它没有将类的接口从实现中分离出来。但是auto_ptr只是一个简单的类,所以第二个实现比第一个清晰得多。这是把auto_ptr的接口和实现分开的版本:templateclass auto_ptr {原创 2009-04-24 09:12:00 · 1188 阅读 · 0 评论 -
More Effective C++ 整理后感
为什么不是读后感?因为如果仅仅是读完,我还写不出感言,只有在整理、摘要的过程中,才知道哪些是要点,哪些代表了作者的精髓。读完又花了一周多才将这本Scott Meyers的薄薄的大作整理完成,其实整理的过程就是一次再读的过程,我仍然坚持好书读两遍才知其意的观点。像这样的大师级的书恐怕再读个两遍也不为过。这本书不仅仅教会我C++有什么,通过C++能实现什么,更重要的是它教会我:如果C++现在不提供原创 2009-04-27 10:25:00 · 785 阅读 · 0 评论 -
More Effective C++ 读书摘要(六、杂项)Item32 - 35
Item32. 在将来时态下开发程序: 作为软件开发人员,我们也许知道得不够多,但我们知道万物都会变化。我们没必要知道什么将发生变化,这么变化又怎么发生,以什么时候发生,在哪里发生,但我们知道:万物总会变化。 好的软件能够适应变化。它提供新的特性,适应到新的平台,满足新的需求,处理新的输入。这种软件的灵活性、健壮性、可靠性不是来自于运气。它是那些遵照了现在的要求并关注了将来可能的开原创 2009-04-23 22:37:00 · 848 阅读 · 0 评论 -
More Effective C++ 读书摘要(五、技巧3)Item30 - 31
Item30. 代理类: 实现二维数组 对于C++内置的数组,如data[][],第一个[]返回的是一个数组,第二个[]从这个返回的数组中再去取一个元素。我们可以通过重载Array2D类的operator[]来玩同样的把戏。Array2D的operator[]返回一个新类Array1D(代表一维数组)的对象,再重载Array1D的operator[]来返回所需要的二维数组中的元原创 2009-04-23 14:55:00 · 964 阅读 · 0 评论 -
More Effective C++ 读书摘要(四、效率)Item16 - 24
Item16. 记住80-20准则:80-20准则说的是大约20%的代码使用了80%的程序资源;大约20%的代码耗用了大约80%的运行时间;大约20%的代码使用了80%的内存;大约20%的代码执行80%的磁盘访问;80%的维护投入于大约20%的代码上;通过无数台机器、操作系统和应用程序上的实验这条准则已经被再三地验证过。80-20准则不只是一条好记的惯用语,它更是一条有关系统性能的指导方针,它原创 2009-04-19 07:55:00 · 760 阅读 · 0 评论 -
More Effective C++ 读书摘要(五、技巧2)Item28 - 29
Item28. 智能(smart)指针:当你使用智能指针替代C++的内建指针(dumb pointer),你就能控制下面这些方面的指针的行为:构造和析构(Construction and destruction)、拷贝和赋值(Copying and assignment)、解引用(Dereferencing)大多数智能指针模板看起来都象这样: template原创 2009-04-20 22:26:00 · 956 阅读 · 1 评论 -
More Effective C++ 读书摘要(五、技巧1)Item25 - 27
Item25. 使构造函数和非成员函数具有虚函数的行为:有三个类,注意其继承关系:class NLComponent { //用于 newsletter components public: // 的抽象基类 ... //包含只少一个纯虚函数}原创 2009-04-19 21:04:00 · 1027 阅读 · 0 评论 -
More Effective C++ 读书摘要(一、基础议题 二、运算符)Item1 - 8
〇、“引言”约定与术语:1.指针加p,引用加r。2.(在对operator==)的调用中,lhs和rhs,分别为“left-hand side”、“right-hand side”的缩写。3.ctor表示“constructor”,dtor表示“destructor” 一、基础议题Item 1. 区分指针和引用:以下情况应该使用引用->①当知道要指代某个对象并且不会再指代其他的东西②当实现原创 2009-04-09 16:23:00 · 766 阅读 · 0 评论 -
More Effective C++ 读书摘要(目录索引)
一、基础议题 Item 1. 区分指针和引用Item 2. 优先考虑C++风格的类型转换Item 3. 决不要把多态用于数组Item 4. 避免不必要的默认构造函数二、运算符Item 5. 小心用户自定义的转换函数Item 6. 区分自增运算符和自减运算符的前缀形式与后缀形式Item 7. 不要重载"&&"、"||"和","Item 8. 理解new和del原创 2009-04-26 10:23:00 · 1765 阅读 · 1 评论