RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
如何区分“指向const对象的指针”和“const指针”
  • 作者:xiaoxiao
  • 发表时间:2020-12-23 10:57
  • 来源:未知

  const是C++中引入的一个新的关键字,它为C++编程带来了很大的方便。指向const对象的指针和const指针是两个名字很接近的概念,对于初学者来说非常容易搞混,这里对它们进行区分。

指向const对象的指针

  可以这样理解指向const对象的指针:

  指向const对象的指针就是一个指针,不能通过它来修改它所指向的对象的值

·         声明方法:const int *p;

  const对象在初始化后是不允许对其值进行修改的,因此,我们不能用一个普通指针指向一个const对象,即下面的赋值会引起编译错误:

  const int i = 1;

  int *p = &i;

  否则的话,我们就可以利用普通指针来修改一个const对象的值,那么const也就毫无意义了。

  正确的方法是利用一个指向const对象的指针来获取const对象的地址:

  const int i = 1;

  const int *p = &i;

        这样,利用指向const对象的指针也是不能修改它所指向的const对象的值的。

  需要注意的两点:

指向const对象的指针本身不是const类型(这也是它与