使用pop_back的C ++析构函数

玉L

我目前正在独自学习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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章