【发布时间】:2018-04-27 12:36:19
【问题描述】:
我是这样分配内存的:
int *array = new int[n];
array[5] = 3;
然后给它赋值。但是,我想同时释放它分配的一些空间。我知道
delete[]
将释放它使用的内存,但我不希望删除整个数组,而只删除某些元素,例如第一个元素,以实现 FIFO 列表。如何释放第一个元素,然后在数组末尾为新元素分配空间而不删除整个元素?可以用vector代替int吗?
【问题讨论】:
-
在 C++ 中,如果您曾经想过“动态数组”,那么接下来您应该总是 是
std::vector。如果你想要一个“FIFO”结构,那么std::queue. -
我不想删除整个数组,只删除某些元素你不能这样做。要么全部,要么没有。
-
我是这么想的,那我就坚持使用向量吧。谢谢!
-
我认为你应该继续前进!有很多关于它们的样本,它们是为您要求的目的而制作的。
标签: c++ memory-management dynamic dynamic-memory-allocation