gpt4 book ai didi

c++ - 如何在 C++ 中扩大和缩小双指针动态数组?

转载 作者:太空宇宙 更新时间:2023-11-04 16:17:00 25 4
gpt4 key购买 nike

我正在学习 C++,我希望使用双指针来构建动态对象数组,该数组会随着元素从数组中添加和删除而增长和收缩。

我可以这样创建数组:

Person** people = new Person*[10];

然后像这样添加对象:

people[0] = new Person(“Luke”);
people[1] = new Person(“Han”);
people[2] = new Person(“Leia”);

然后像这样删除对象:

delete people[1]
people[1] = null;

(至少我认为这是正确的。)

但我被困在几件事上......

问题:

一旦数组充满了 10 个项目,我如何为其他对象动态添加更多空间?事实上,我认为在添加第一项之前,数组的大小可能应该为 0;我该怎么做?

同样,当我删除一个项目时(就像我删除上面的人 [1] 时),我如何将数组缩小到最小大小?比如,如何让位于 people[2] 的对象移动到 people[1] 的位置?

非常感谢任何建议或帮助,谢谢!

右手

最佳答案

您需要创建一个更大的新数组并从当前数组复制数据并释放它。

关于c++ - 如何在 C++ 中扩大和缩小双指针动态数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21663975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com