[删除[]在c ++中分配了new的特定数组块]

问题描述 投票:0回答:1

我正在用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;

我知道这是一个愚蠢的问题,但我仍然想知道。谢谢。

c++ arrays memory new-operator
1个回答
2
投票

仅可以取消分配全部分配,而不能部分分配。

但是,您可以实现自己的分配器,该分配器可以在全局分配器的单个块上工作,提供较小的分配,可以单独取消分配。

© www.soinside.com 2019 - 2024. All rights reserved.