小编chl*_*314的帖子

链表中的内存泄漏使用动态分配来删除元素

我一直在研究链表问题,分别使用指向列表头部和尾部的两个指针.我遇到的问题如下:

当我想从列表的前面或后面删除时,当使用临时动态分配的节点指针实现相应的类方法时,我得到内存泄漏,我无法找出导致泄漏的问题究竟是什么.

#include <iostream>

class Node {
   public:
      Node():data(0),ptrNode(nullptr){};
      ~Node() {};

      // declaring the getters and setters
      float getData() const {return data;};
      void setData(float d) {data = d;};
      Node* getNodePtr() const {return ptrNode;};
      void setNodePtr(Node* n){ptrNode = n;};

   private:
      float data;
      Node* ptrNode;
    };


class List {

   private:
      Node * ptrHead;
      Node * ptrTail;


   public:
      List():ptrHead(nullptr),ptrTail(nullptr) {};
      ~List() {};

      void insertAtFront(float x) {
               Node * temp = new Node();
               temp->setData(x);

               if (ptrHead == nullptr) {
                     ptrHead = temp;
                     ptrTail = …
Run Code Online (Sandbox Code Playgroud)

c++ memory-leaks linked-list

1
推荐指数
1
解决办法
86
查看次数

标签 统计

c++ ×1

linked-list ×1

memory-leaks ×1