Effective C++中文版的笔记(8)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • fleuria论文叔
    第1页

    fleuria论文叔 (Introspection)

    g++还有个-Weffc++选项... http://cpptruths.blogspot.com/2006/08/g-compiler-option-weffc.html Warn about violations of the following style guidelines from Scott Meyers’ Effective C++ book: * Item 11: Define a copy constructor and an assignment operator for classes with dynamically allocated memory. * Item 12: Prefer initialization to assignment in constructors. * Item 14: Make destruct... (更多)

    2012-01-15 17:37:14   4回应

  • 读书求知
    第37页

    读书求知

    c++为类默认调用的函数种类是: 1、default构造函数; 2、copy构造函数; 3、copy-assignment操作符; 4、default析构函数; 其中,2、3两种的行为如何,什么情况下不能生成? 2、3只是单纯地将来源对象的每一个non-static成员变量拷贝到目标对象。如果类中含有某些不能作为左值的变量时,编译器就不会为该类生成默认的这两类函数。比如含有一个引用变量,c++并不允许让reference改指向不同对象。或者含有const类型的变量.. (更多)

    2012-05-10 07:54:52   回应

  • 读书求知
    第186页

    读书求知

    何时使用复合,何时使用继承? 对象分为两个域:应用域和实现域,复合在这两个域上的各有不同的语义,前者代表的意思是:has-a,后者代表的意思是:is-implemented-in-terms-of(根据某物实现)。 在应用域上,继承的意义是:is-a。 在应用域上,继承和复合的区别比较明显,一般不会弄错。 在实现域上,有一个标准可以这样继承: 如果D是一种B,那么对B为真的事对D也是为真的反之,就要使用复合。这一点,需要在类的设.. (更多)

    2012-05-09 20:46:25   回应

  • 浩然驴
    第155页

    浩然驴 (天地有正气,杂然赋流形。)

    class Square: public Rectangle{...}; Square s; ... assert(s.width()==s.height()); makeBigger(s); assert(s.width()==s.height()); 这段代码没问题,但是中文说第二个assert永远为真,明显错了啊~ (更多)

    2012-03-09 16:09:08   回应

  • 花脸巴儿
    继承与面向对象设计

    花脸巴儿 (草尼马常有,而伯乐不常有)

    1)如果某些东西被封装,它就不再可见,愈多东西被封装,愈少人可以看到它,而愈少人看到它,我们就有愈大的弹性去变化它,因为我们的改变仅仅直接影响看到改变的那些人事物。因此,愈多东西被封装,我们改变那些东西的能力也就愈大。 2)太快定义变量可能造成效率上的拖延; 过度使用转型可能导致代码变慢又难以维护,又招来微妙难解的错误; 返回对象的handles可能会破坏封装并留给客户dangling handles; ... (更多)

    2012-02-13 15:21:24   回应

  • citypunk
    第1页

    citypunk

    Effective C++ 每位C++开发者和程序员的必看书目之一 (更多)

    2011-10-27 22:23:14   1回应

  • andi
    第44页

    andi (尽信书,则不如无书)

    c#里面经常会考虑将基础容器作为基类继承、扩展。 而STL中的基础容器没有定义virtual dtor, 都不可以作为基类继承。 组合优于继承。 (更多)

    2011-06-16 02:04:05   回应

  • andi
    第26页

    andi (尽信书,则不如无书)

    //构造、拷贝构造、赋值操作 First f1; f1 = First(); //initialize & copy assignment. //initialize only, equivalence First f2 = First(arg1); First f3 = arg1; // not explicit conversion First f4(arg1); (更多)

    2011-06-16 00:47:09   回应

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

Effective C++中文版

>Effective C++中文版