Map 1
const关键字作用
  功能
    避免修改
    相对于宏，更方便类型检查
    方便作用域检查，define是作用全局直到undef结束，const只在作用域内生效，比如局部定义只在局部生效
  性能
    const提高了效率，编译器通常不为普通的const常量分配存储空间，而是将他们保存在符号中，这使得它成为编译器间的一个常量，没有了存储和读取操作，使得效率很高。
  内存空间
    和define(立即数)相比，const只是给出了内存地址，避免了内存多次分配
  定义方式
    定义变量
      c
        函数内部定义时候，是局部const，可以通过指针修改值，因为存在栈中。
        全局const，不能修改
      cpp
        存在符号表中，不能修改
      指针
        常量指针 char * const ptr; 不能修改指针指向
        指针常量 const char * ptr; 不能修改指针指向的内容
    修饰函数参数
      避免参数被修改
    修饰函数返回值
      避免修改
      运算符重载的时候作为左值返回
    类中常成员函数
      进行函数重载
      限制只读对象调用范围
        只读对象只能调用常成员函数
      限制常成员函数可调用变量和函数范围
        常成员函数只能调用常成员变量以及常成员函数