我正在用C ++写一个简单的堆栈程序。我已经动态分配了数组。我想知道是否有任何方法可以删除(释放)数组的特定块。
int *arr = NULL ;
arr = new int[some_size];
.
.
.
.
//now suppose I want to deallocate a specific block
//suppose
int i = 4;
//can I do something like
delete[i] arr;
我知道这是一个愚蠢的问题,但我仍然想知道。谢谢。
仅可以取消分配全部分配,而不能部分分配。
但是,您可以实现自己的分配器,该分配器可以在全局分配器的单个块上工作,提供较小的分配,可以单独取消分配。