const修饰指针, 常量指针 指针常量

首先我们来看下以下语法你是否能分清是 指针只读 还是对象(指针所指向的值)只读 ?


    double dou1 = 11.0;

    const double *cptr1;                
    const double* cptr11;              

    double *const cptr2= &dou1;         
    double* const cptr22 = &dou1;     

    double const *cptr3;                
    double const* cptr33;           

    const double* const cptr5= &dou1;   
    const double *const cptr55 = &dou1; 
    
    const double const* cptr6;         
    const double const *cptr66;          

答案:

    //*号在空格前 和 *号在空格后 意思是一样的
    double dou1 = 11.0;

    const double *cptr1;                 //对象只读,指针可读写
    const double* cptr11;                //对象只读,指针可读写

    double *const cptr2= &dou1;            //对象可读写,指针只读
    double* const cptr22 = &dou1;         //对象可读写,指针只读

    double const *cptr3;                 //对象只读,指针可读写
    double const* cptr33;                //对象只读,指针可读写

    const double* const cptr5= &dou1;      //对象只读,指针只读
    const double *const cptr55 = &dou1;   //对象只读,指针只读
    
    const double const* cptr6;      //对象只读,指针可读写  这里的两个const 都是修饰double对象的
    const double const *cptr66;    //对象只读,指针可读写  这里的两个const 都是修饰double对象的

从上面的定义可以找到一个规律

1,const 直接和double在一起 中间没有别的字符,则 double对象(对象:指针所指向的值)只读,指针可读写。

2,const 和double中间只有有*号 则 指针只读,对象(对象:指针所指向的值)可读写

你可能感兴趣的:(c++,vue.js,开发语言)