定义常量

  1. const与#define的区别:

    A. const常量具有类型,编译器可以进行安全检查,#define没有类型,只是简单替换字符串

    B. const只能定义整数或枚举的常量

const修饰变量

  1. 必须初始化
  2. 不可修改

指针与const

  1. const位于*左侧(const int * a):const修饰的是指针所指变量

  2. const位于*右侧(int * const a):const修饰的是指针,该指针的值不可改变

    A. 该变量不可通过const指针修改

    B. const变量必须使用const指针获取

函数与const

  1. 函数返回值前加const:函数返回的const修饰的值不能被修改

  2. 函数参数加const:

    A. 传入函数的实参,不能在函数修改

    B. 在函数中将这个实参再作为实参传递给另一个函数时,也必须被const修饰

类与const

  1. 成员函数后加const:

    A. 此成员函数不可以修改类的成员变量

    B. 非const成员函数可以调用const成员函数,但const成员函数只能调用const成员函数,而不能调非const成员函数。