zoukankan      html  css  js  c++  java
  • Effective C++笔记(一)

    条款1:视C++为语言联邦

    C、面向对象C++、模板部分、STL

    条款2:尽量用const、enum、inline替换#define

    1.#define创建常量:1.会进入符号表,不利于调试。2.没有作用域概念,不能被封装,使用不方便。

    2.使用enum hack完成in class初值设定。

    3.#define创建宏函数会引发很多难以察觉的问题。使用inline template函数代替。

    有了const、enum和inline,对#define的需求降低了。

    条款3:尽可能使用const

    1.如果想修改一个const对象的某个成员变量,可以把该变量声明为mutable。

    2.const成员函数和non-const成员函数的实现基本一致,仅返回值类型不同。可以使用常量转型,避免重复。

    第一次将this加上const属性,第二次移除const成员函数返回值的const属性。

    条款4:对象使用前初始化

    1.内置型对象手工初始化,类类型对象由构造函数负责初始化。

    2.尽可能使用成员初始化列表初始化成员变量,排列次序和声明保持一致。

    3.避免跨编译单元的初始化次序问题,使用单例模式。

  • 相关阅读:
    oracle 使用toad界面创建DBLINK
    oracle 批量修改
    blast原理
    Masked genomes/sequence
    HSP
    gapped alignment
    genBlastA
    用blastall进行序列比对
    formatdb
    download文件转为可执行格式
  • 原文地址:https://www.cnblogs.com/Zkqq/p/7059526.html
Copyright © 2011-2022 走看看