师去白

      我的程序人生

  博客园  :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理

Item45 -- 清楚知道C++编译器默默为我们完成和调用哪些函数

构造函数、拷贝构造、析构、赋值、取地址

Item46 -- 宁愿编译和连接时出错,也不要执行时才错

举了个把月份抽象成类,通过类的机制使得在编译和连接的时候能够发现错误。这个有点太高深了,一般用不到。忽略。

Item47 -- 使用non-local static objects之前先确定它已有初值

可以使用单键模式解决,在使用的函数声明一个static变量,第一次使用则初始化,以后则直接获取了。
Item48 -- 不要对编译器的警告信息视如不见
C++真的是个难搞的语言,所以下面的这种情况只能见到一个就记一个了

class B{

public:

virtual void f() const;

};

class D: public B{

public:

virtual void f();

};

Warning: D::f() hides virtual B:f()

这个编译错误是说,B中的f()被掩盖了,即无法使用const B* pb调用f()函数了

Item49 -- 尽量让自己熟悉C++标准程序库

没的说,STL要熟悉,这个任重而道远,现在主要是参考www.cplusplus.com的reference
如果有时间的话,还想看的就是《Effective STL》《STL源码剖析》之类的书了

Item50 -- 加强自己对C++的了解

要读两本书,The Design and Evolution of C++, The Annotated C++ Reference Manual
等有了一定基础和时间再看吧

 

后记:

Effective C++很早就看完了,不过现在回头看,很多东西都值得再看一遍,我认为深入C++学习,这是一本必须要看的书,很多细节方面的东西,Scott Mayers都驾轻就熟的展现出来,哪天能够把他整本书的思想全部用自己的话讲出来,做到浅显易懂,那么C++算是精通了,现在还只能是粗略的记录下自己认为的重点,所以这个目标还值得花上好几年的努力。

posted on 2009-10-22 22:38  liuchen  阅读(320)  评论(0编辑  收藏  举报