记忆泄漏与列表C

Memory leak with lists c++

本文关键字:列表 泄漏 记忆      更新时间:2023-10-16

该函数的想法是将x中的原始列表划分为无需删除或创建新单元格的单个数组中。该功能很棒,但是当我使用Valgrind或Memory Dr. Memory检查泄漏时,它似乎存在一些泄漏问题...

List* function (List & todivide, int t = 2){
  Cell* aux = todivide.l;       // l is the head of the list
  int tam = (todivide.size()/t == 0) ? todivide.size()/t : todivide.size()/t+1;
  List* arrayoflists = new List [tam];
  for(int i = 0, k = 0; aux != 0; i++){
      if(i%t == 0){
          arrayoflists[k].l = aux;
          aux = aux->sig;
          k++;
      }
      if(i%t == t-1){
          Cell* p = aux->sig;
          aux->sig = 0;
          aux = p;
      }
  }
  l.l = 0;
  return arrayoflists;
}

我没有发现任何错误...有什么想法吗?

预先感谢

函数内部没有什么错'在功能之外使用它。