C++创建一个指向const对象的指针数组

use*_*643 6 c++ arrays pointers const

我正在尝试为常量对象创建一个非常量的非常量指针数组.我的想法是,我应该能够改变数组中指针指向的内容,但它们指向的是一个常量对象.

我在定义这个数组时遇到了问题(它是一个指向类型对象的指针数组Person- 一个自定义类).我目前正在声明这样的数组:

Person* people[10];
Run Code Online (Sandbox Code Playgroud)

还没有明确说明指针指向const人.所以当我做这样的事情时:

people[i] = &p;
Run Code Online (Sandbox Code Playgroud)

where p是对类型对象的引用const Person,它失败了.

utn*_*tim 9

如果有疑问...使用typedef(因为它是显式的,添加更专业的语义并完全避免混淆):

typedef const Person* PersonCPtr;
PersonCPtr people[10];
Run Code Online (Sandbox Code Playgroud)