oro*_*hev 0 c++ arrays dynamic
我想创建一个特定对象的动态数组,该数组也支持向数组添加新对象.
我正在努力解决这个问题,作为我课程练习的一部分.在本练习中,我们不应该使用std::vector.
例如,假设我有一个名为class的类Product并声明一个指针:
Products* products;
Run Code Online (Sandbox Code Playgroud)
那么我想支持以下内容:
products = new Product();
/* code here... */
products[1] = new Product(); // and so on...
Run Code Online (Sandbox Code Playgroud)
我知道当前的语法可能会导致访问冲突.我不提前知道数组的大小,因为它可以在整个程序中改变.
问题是:
如何在没有载体的情况下编写它?
我必须使用双指针(二维)吗?
每次我想添加一个新对象时,是否必须将数组复制到新数组(大小为+1),然后删除该数组?
std::vector.如果由于某种原因需要,那么每次调整大小的复制是最简单的选择.std::vector.其他一切都将(部分)重新发明一个标准库容器或另一个,这很难.