初始化后使指针const

时间:2014-05-19 06:02:04

标签: c++ c pointers

如何使指针在初始化时保持不变? 例如,如果我有这样的指针:

int x = 20;
const int *myptr = &x;

它给出了错误,所以我试过这个:

*const int myptr = &x;

它还会在编译时给出错误。

1 个答案:

答案 0 :(得分:3)

  

如何在初始化后使指针保持不变?

一旦宣布了对象,你就不能,它的类型总是一样的。但是,您可以通过以下任何方式声明一个新变量:

const int*       anotherptr = myptr; // (1)
int* const       anotherptr = myptr; // (2)
const int* const anotherptr = myptr; // (3)

使用:

  1. int
  2. 上强制执行const-correctness
  3. 对指向int
  4. 的指针强制执行const-correctness
  5. 在指针和指针对象上强制执行const-correctness