我一直在研究链表问题,分别使用指向列表头部和尾部的两个指针.我遇到的问题如下:
当我想从列表的前面或后面删除时,当使用临时动态分配的节点指针实现相应的类方法时,我得到内存泄漏,我无法找出导致泄漏的问题究竟是什么.
#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)