C ++:我自己的类的动态数组

时间:2018-06-19 12:23:33

标签: c++ arrays class dynamic resize

我已经阅读了一些有关更改数组大小的文章,但是我没有找到适合自己的类的东西。我需要的是“区域”的动态数组。

第一步(定义班级):

class Region{
private:
    int start;
    int end;
public:
   Region(){
   start=0;
   end=0;
   }
   // some get and set functions
}

第二步(定义一个空的区域数组):

Region regions[0];

第三步(添加新区域)

// Pseudo-Code
generate a help array with dimension 1 (start is 0)
add old regions values to help (none, because it was empty in the beginning)
add the new region to help
delete the regions array
initilize a regions array with dimension 1 (old dimension+1)
copy help to region
delete help

我认为步骤2已经不正确。我想在步骤2和步骤3中获得一些帮助。

(我理解第2步和第3步之后)还有一个好处是:如何删除特定的索引区域。

关于马丁

1 个答案:

答案 0 :(得分:1)

对于动态数组,您正在寻找std::vector<Region>(请参见cppreference的参考资料)。其中包含插入,删除和推送操作。

您可以使用new[]delete[]自己模拟行为,但是在C ++中不建议这样做