C++ const 修饰指针

番外篇:野指针是指向非法内存的指针。

用const来修饰指针,共有3种方式:

常量指针
特点:指针的指向可以修改;指针指向的值不可以修改。

   int a = 10,b = 10;
   const int* p = &a;
   *p = 20;          //错误
    p = &b;         //正确

指针常量
特点:指针的指向不可以修改;指针指向的值可以改。

   int a = 10,b = 10;
   int* const p = &a;
   *p = 20;         //正确
    p = &b;        //错误

const既修饰指针又修饰常量
特点:指针的指向不可以修改;指针指向的值也不可以修改。

   int a = 10,b = 10;
   const int* const p = &a;
   *p = 20;        //错误
    p = &b;       //错误

你可能感兴趣的:(c++,指针,const)