如何处理此C ++ Multimap析构函数?

伊万·博尔沙科夫(Ivan Bolshakov)

我是使用C ++从事简单程序的初学者,遇到一个让我感到困惑的问题……我不知道内存在哪里泄漏。我能更准确地理解,但我无法正确编写析构函数。我寻求帮助。

这是DBMAP类

class DBMAP
{
    private:
        multimap < int, Volkov_1* > setMAP;
    public:
        DBMAP() {};
        DBMAP(DB& db)(DB & db)
        {
            db.copyM(*this);
        };
        void addM(Volkov_1* b)
        {
            setMAP.insert(pair<int, Volkov_1*>(*b->x, b));
        };
        ~DBMAP()
        //for (multimap< int, Volkov_1* >::iterator it = setMAP.begin(); it != setMAP.end(); ++it)
        // delete* it;;??

};
约翰
~DBMAP()
{
  for (multimap< int, Volkov_1* >::iterator it = setMAP.begin(); it != setMAP.end(); ++it)
      delete it->second;
}

多图迭代器指向一对值。该对中的第一个是键,第二个是值。那就是您要删除的指针。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章