zoukankan      html  css  js  c++  java
  • Effective C++ 读书笔记(4550):杂项讨论

    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++算是精通了,现在还只能是粗略的记录下自己认为的重点,所以这个目标还值得花上好几年的努力。

  • 相关阅读:
    win10+CUDA8.0+vs2013配置
    TX2更新源失败的问题
    并发编程--乐观锁与悲观锁
    并发编程--线程池
    并发编程--多线程基础(02)
    并发编程--多线程基础(01)
    搭建redis集群的过程中遇到的问题
    redis集群搭建(伪集群)
    关于maven项目中修改的JS不生效的解决方案
    【转载】IntelliJ IDEA 2017常用快捷键
  • 原文地址:https://www.cnblogs.com/liuchen/p/1588354.html
Copyright © 2011-2022 走看看