我目前正在独自学习C ++,但在创建析构函数时遇到了一些麻烦。
这是我正在努力的主要部分的代码
#include <list>
using namespace std;
class Test
{
private:
list<char> *tempList;
public:
Test()
{
tempList->push_back('a');
tempList->push_back('b');
tempList->push_back('c');
}
~Test()
{
while (tempList->size() != 0)
{
tempList->pop_back();
}
}
};
如您所见,我正在使用std :: list来实现双向链接列表。目前,我正在摆弄它,因此为什么将变量命名为tempList以及为什么要在其中放置a,b,c。
我需要帮助的是创建析构函数。我曾经尝试创建自己的解决方案,但是后来我开始使用Google搜索其他解决方案,但都没有一个像我的。
我希望我的析构函数要做的主要事情是清理tempList,它是char的双链表。我认为需要发生的是我需要找出一种删除链表中每个元素的方法。
标准类std::list
具有自己的解构器。当调用Test类的析构函数时,它依次调用std :: list的析构函数。无需使用pop_back
该方法从列表中删除元素。这是析构函数中的超级操作。std::list
构造函数分配的内存以及放置在那里的字符将被删除。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句