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

时间:2014-10-01 13:02:31

标签: c++ arrays pointers const

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

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

Person* people[10];

此外,没有明确指出指针指向const人。所以当我做这样的事情时:

people[i] = &p;

其中p是对const Person类型对象的引用,但它失败了。

1 个答案:

答案 0 :(得分:9)

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

typedef const Person* PersonCPtr;
PersonCPtr people[10];