C++指针与const

版权声明:本文为博主原创文章,未经博主允许不得转载,欢迎留言。 https://blog.csdn.net/qq_15046309/article/details/86493521

节选自C++ primer plus

有两种不同的方式将const关键字用于指针,第一种方法是将指针指向一个常量对象,这样可以防止使用该指针来修改所指向的值【因为常量是不可以被修改的,因此无法通过指针来修改值】

第二种方法是将指针本身声明为常量,这样可以防止改变指针指向的位置。【也就是指针不会再指向别处了】

int age=20;
const int *pt=&age;

pt的声明并不意味着它指向的值实际上就是一个常量,而只是意味着对于pt而言,这个值是常量。

禁止通过pt去修改值。

c++禁止将const地址赋值给非const指针。

将指针参数声明为指向常量数据的指针有两条理由。

  • 这样可以避免由于无意间修改数据而导致的编程错误。
  • 使用const使得函数能够处理const和非const实参,否则将只能接受非const数据。

如果条件允许,则应将指针形参声明为指向const的指针。

int *const finger=&age;

这样的做法是规定finger只能指向age,可以改变age的值。但是不能改变它的指向。

猜你喜欢

转载自blog.csdn.net/qq_15046309/article/details/86493521