C++ 小笔记

1,尽量避免在头文件引用其他头文件,尽量在cpp中引用其他头文件,这样会减少编译时间,在头文件声明其他类时,可以不引用头文件加一个class关键字声明,例如:class ClassA a;

2,调用指针的函数或者变量时,先判断是否为空  养成好习惯O(∩_∩)O哈哈~。官方模板:

3,静态变量初始化

  

int m_a;                //通过初始化列表初始化,  
                            //或者构造函数初始化  
    /*引用*/  
    int &m_ra;              //只能通过初始化列表初始化  
  
    /*静态变量*/  
    static int m_b;         //不能通过初始化列表初始化,  
                            //不能在类内进行初始化,  
                            //不能在构造函数中初始化,  
                            //只能在类外初始化  
  
    /*常量*/  
    const  int m_c;         //只能通过初始化列表初始化,  
                            //不能在类内进行初始化,  
                            //不能在构造函数中初始化,  
                            //不能在类外初始化  
  
    /*静态整型常量*/  
    static const int m_d;   //(整型)能否在类中初始化,取决于编译器  
                            // 能在在类外初始化,不能带static  
  
    /*静态非整型常量*/  
    static const double m_e;//(double型)能否在类中初始化,取决于编译器  
                            // 能在在类外初始化,不能带static  
//静态成员变量,必须在类外初始化,且要去掉static关键字  
int CTypeInit::m_b = 6;  
const int CTypeInit::m_d = 6;  
const double CTypeInit::m_e = 3.1415926;  

 4,注意在函数中声明的指针,函数结束后会被释放。

5,父类中的纯虚函数必须全部实现,否则会报错“不能实例化抽象类”

6,

字 word
字节 byte
位 bit
字长是指字的长度

1字=2字节(1 word = 2 byte)
1字节=8位(1 byte = 8bit)

7,class前置声明

  class A; 或者class A *a;

  struct前置声明

  只能struct A;

原文地址:https://www.cnblogs.com/litmin/p/6908591.html