C++中关于const

    int num1 = 1;
    int num2 = 2;
    const int *a;
    a = &num1;
    //-----------常量指针------------
    //1、不能通过*a间接改变num1的值
    //*a = 3;error 
    //但可以直接改变变量的值
    num1 = 3;
    //2、常量指针可以改变指向的地址
    a = &num2;

    //-----------指针常量--------------
    //1、定义指针常量必须初始化
    //int *const c;error 
    int *const c = &num2;
    //2、指针常量不能再指向其他的地址
    //c = &num1;//error 此时指针为常量且已经初始化,不能指向其他的指针
    //3、可以通过*c改变所指向的地址所对应的值
    *c = 4;

猜你喜欢

转载自blog.csdn.net/BeatRex/article/details/76401241