我正在尝试实现我自己的std::vector容器,并且我使用realloc()来调整它的大小,以防止每次删除和重新分配。使用以下代码:这将默认初始化数组的每个元素,并允许我立即开始访问它们。但是,由于标准指定内存must be previously allocated by malloc(), calloc() or realloc()使用realloc(),所以不能使用new。
我需要从数组中删除一个特定的元素,该数组会动态调整大小,以便使用realloc存储未知数量的元素。为了控制分配的内存和定义的元素,我还有另外两个变量:int elements = 0;在将一些元素放入数组之后,我可能需要删除其中的一些元素我找到的所有文本都说要使用memmove,并通过删除的元素数量来减少变量。
我怀疑这种方法是否安全有