const 和指针

Posted 专业开发人员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了const 和指针相关的知识,希望对你有一定的参考价值。

const 和指针
const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据。const 和指针一起使用会有几种不同的顺序,如下所示:

const int *p1;
int const *p2;
int * const p3;

在最后一种情况下,指针是只读的,也就是 p3 本身的值不能被修改;在前面两种情况下,指针所指向的数据是只读的,也就是 p1、p2 本身的值可以修改(指向不同的数据),但它们指向的数据不能被修改。

当然,指针本身和它指向的数据都有可能是只读的,下面的两种写法能够做到这一点:

纯文本复制

const int * const p4;
int const * const p5;

const 和指针结合的写法多少有点让初学者摸不着头脑,大家可以这样来记忆:const 离变量名近就是用来修饰指针变量的,离变量名远就是用来修饰指针指向的数据,如果近的和远的都有,那么就同时修饰指针变量以及它指向的数据。

以上是关于const 和指针的主要内容,如果未能解决你的问题,请参考以下文章

C++指针常量和常量指针,const修饰函数。

C++指针常量和常量指针,const修饰函数。

const_cast 用于引用和指针

共享指针和 const 正确性

指向 const 指针(或指向 const 的指针)

对容器中项目的 const-correct 指针访问