所以我们有以下代码,它说明了一个“指针数组”(我认为)
main() {
int *array[3];
int x = 10, y = 20, z = 30;
array[0] = &x;
array[1] = &y;
array[2] = &z;
return 0;
}
现在,假设它们不是int
s,而是您创建的对象类的一种类型。
所以我想从这个数组中删除一个成员(即通过 delete 关键字调用它的析构函数并销毁对象,但让指针保持正常。)
如果我的怀疑是正确的,那是不可能的,我唯一的选择是将数组的内容复制到一个新数组(除了我要删除的数组),然后删除前一个数组(作为一个整体及其所有元素),而我将新元素分配给指针array
如果有人能证实或纠正我的怀疑,我将不胜感激,特别是因为“指针数组”这个名称具有误导性。谢谢你。