出于学习目的,我创建了自己的双向链表实现。我正在做一些测试以确保正确释放内存。在main.cpp
中,我有以下内容:
list<int> pointer;
int *x = new int(1);
int *y = new int(2);
int *z = new int(3);
pointer.insertBack(*x);
pointer.insertBack(*y);
pointer.insertBack(*z);
pointer.printForward();
pointer.printReverse();
显然,由于调用new
. 在所有这些代码之后我是否必须自己调用删除,或者列表的析构函数是否应该处理内存释放?如果我使用 anint
而不是指针,则不会发现内存泄漏。我正在使用 valgrind 检查内存泄漏。