static 使用

静态局部变量和全局变量的区别

Untitled

Untitled

const 使用

作用

  1. 修饰变量,说明该变量不可以被改变;
  2. 修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer);
  3. 修饰引用,指向常量的引用(reference to const),用于形参类型,即避免了拷贝,又避免了函数对值的修改;
  4. 修饰成员函数,说明该成员函数内不能修改成员变量。
    int b = 4;
    const int a = 15;      //a是一个常量
    const int *p = &b;     //*号在 const 右边, 指向的是常量的指针
//    *p = *p + 1;         //这行是bug
    int * const q = &b;    //*号在 const 左边, 指针本身是常量
    *q = *q + 1;           //此行正确
    int c = 1;
//    q = &c;              //此行是bug
    std::cout << b << std::endl;

常量引用可以指向一个非常量, 但非常量引用不能指向常量。即:

int c1 = 0;
const int &c = c1;    //正确

const c2 = 0;
int &cc = c2;         //错误

指针函数和函数指针

指针函数与函数指针

数组指针和指针数组的区别