zoukankan      html  css  js  c++  java
  • Effective C++学习笔记 chapter 1

    const常量vs 宏定义

    1.尽量使用常量const替换#define

    2.为了将常量的作用域限制在类内,可以定义类的专属常量,而#define不能用来定义类的专属常量,无法提供任何封装性

    3.enum hack技术

    4.对应形似函数的宏,最好改用inline函数替换#define

    赋值vs初始化

    1. 类的对象(不是内置类型)的初始化早与该类构造函数被调用的时间

    成员列表肤初值:如果成员变量是const或者reference,它们就一定需要初值,不能被赋值

    条款:

    C++成员初始化次序:基类更早于派生类,类的成员变量总是以其声明次序被初始化

    C++对于不同编译单元内的non-local static对象的初始化相对次序并无明确的定义,解决方式是使用设计模式中的Singleton模式进行解决(局部静态对象来解决)

    任何一个non-const static对象,不论是local还是non-local,在多线程环境下"等待某事发生"都会有麻烦

  • 相关阅读:
    fescar中文官网
    mybatis 中的 update 返回值你真的明白吗
    数据库读写分离搭建
    git 回退各种场景操作
    听说noip2015有幻方
    noi2015的回忆和教训
    bzoj4026
    bzoj4127
    bzoj2119
    关于fft的一点总结
  • 原文地址:https://www.cnblogs.com/shirley-ict/p/5416746.html
Copyright © 2011-2022 走看看