Jay*_*lya 2 c++ arrays dynamic-sizing
我想实现一个可以在添加新值时增加的数组.就像在Java中一样.我不知道该怎么做.任何人都可以给我一个方法吗?
这是为了学习目的,因此我无法使用std::vector.
这是一个起点:你只需要三个变量nelems,capacity和一个指向实际数组的指针.所以,你的课程将从最初开始
class dyn_array
{
T *data;
size_t nelems, capacity;
};
Run Code Online (Sandbox Code Playgroud)
T您要存储的数据类型在哪里; 为了额外的功劳,请将其设为模板类.现在实现教科书或动态数组维基百科页面上讨论的算法.
请注意,new/ deleteallocation机制不支持像C一样增长数组realloc,因此data在增加容量时你实际上会移动内容.