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,在多线程环境下"等待某事发生"都会有麻烦

  • 相关阅读:
    第四次课堂作业
    12周课后作业
    12周上机(5.21)
    11周周五课后作业
    11周上机作业(5.14)
    第十周(5.7)上机
    第九周4.30上机作业
    第八周周五课后作业
    4.23 第八周上机作业
    4.17课后作业
  • 原文地址:https://www.cnblogs.com/shirley-ict/p/5416746.html
Copyright © 2011-2022 走看看