删除指针向量中的指针指向的对象

阿玛

我有一个指向向量的指针,这些指针指向动态分配的火星结构。我的add函数似乎运行良好,但是我担心我的delete函数无法正确删除对象和指针。你们可以看一下删除功能,然后告诉我要在哪里解决该问题吗?

struct Martian
{
   string fname, lname, ssid;
   Martian(string fname, string lname, string ssid) : fname(fname), lname(lname), ssid(ssid){}
};

class martianDatabase
{
   public:
      vector<Martian*> database;
      martianDatabase();
      void deleteMartian(string deletedID);
      void addMartian(int &i, string f, string l, string id);
      int iterator = 0, size = 0;
};

void martianDatabase::addMartian(int& i, string f, string l, string id)
{
   this->database.push_back(new Martian(f, l, id));
   i++;
}

void martianDatabase::deleteMartian(string deleteID)
{
   int i = 0;
   while (i < size +1)
   {
      if (this->database[i]->ssid == deleteID){
         delete this->database[i];
         size--;
         break;
      }
      else ++i;
   }
}
达韦普米勒

这将删除所有Martian具有匹配ssid值的对象

void martianDatabase::deleteMartian( string deleteID )
{
    auto martianIterator = database.begin();

    while( martianIterator != database.end() )
    {
        if( (*martianIterator)->ssid == deleteID )
        {
            delete *martianIterator;
            martianIterator = database.erase( martianIterator );
        }
        else
        {
            ++martianIterator;
        }
    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何动态从向量中删除c ++中指向对象的指针?

来自分类Dev

如何动态从向量中删除c ++中指向对象的指针?

来自分类Dev

删除指向向量的指针

来自分类Dev

查找并返回指向向量中对象的指针

来自分类Dev

当向量在内部类中时,如何删除指向对象的向量指针

来自分类Dev

指向对象的指针向量C ++

来自分类Dev

如何从指向指针数组的指针中删除对象?

来自分类Dev

如何删除向量中存储的对象的指针?

来自分类Dev

删除指向对象的指针的指针数组

来自分类Dev

指向向量中对象的指针有时指向向量中的其他对象

来自分类Dev

从向量中正确删除指向类的指针

来自分类Dev

指向指针向量的指针数组

来自分类Dev

在unordered_map中删除指向对象的指针

来自分类Dev

从向量中删除类指针

来自分类Dev

在向量中添加或删除之后保留指向向量元素的指针(在c ++中)

来自分类Dev

删除指向派生对象的基本指针

来自分类Dev

如何通过对象参数从指针向量中删除对象和指针

来自分类Dev

如何保持指向插入到集合中然后推入向量中的对象的指针?

来自分类Dev

如何保持指向插入到集合中然后推入向量中的对象的指针?

来自分类Dev

C++ 指针的新手;试图从指向父类的指针的向量中检索子对象。帮助将不胜感激

来自分类Dev

删除指向数组的指针

来自分类Dev

根据对象指针在向量中获取对象

来自分类Dev

指向向量元素的C ++指针,元素已删除

来自分类Dev

指向向量元素的C ++指针,元素已删除

来自分类Dev

在构造函数中传递指向对象的指针

来自分类Dev

销毁指向数组中对象的指针

来自分类Dev

指向C ++中对象数组的指针

来自分类Dev

指向C ++中对象属性的指针

来自分类Dev

在 BeginThread 方法中传递指向对象的指针

Related 相关文章

  1. 1

    如何动态从向量中删除c ++中指向对象的指针?

  2. 2

    如何动态从向量中删除c ++中指向对象的指针?

  3. 3

    删除指向向量的指针

  4. 4

    查找并返回指向向量中对象的指针

  5. 5

    当向量在内部类中时,如何删除指向对象的向量指针

  6. 6

    指向对象的指针向量C ++

  7. 7

    如何从指向指针数组的指针中删除对象?

  8. 8

    如何删除向量中存储的对象的指针?

  9. 9

    删除指向对象的指针的指针数组

  10. 10

    指向向量中对象的指针有时指向向量中的其他对象

  11. 11

    从向量中正确删除指向类的指针

  12. 12

    指向指针向量的指针数组

  13. 13

    在unordered_map中删除指向对象的指针

  14. 14

    从向量中删除类指针

  15. 15

    在向量中添加或删除之后保留指向向量元素的指针(在c ++中)

  16. 16

    删除指向派生对象的基本指针

  17. 17

    如何通过对象参数从指针向量中删除对象和指针

  18. 18

    如何保持指向插入到集合中然后推入向量中的对象的指针?

  19. 19

    如何保持指向插入到集合中然后推入向量中的对象的指针?

  20. 20

    C++ 指针的新手;试图从指向父类的指针的向量中检索子对象。帮助将不胜感激

  21. 21

    删除指向数组的指针

  22. 22

    根据对象指针在向量中获取对象

  23. 23

    指向向量元素的C ++指针,元素已删除

  24. 24

    指向向量元素的C ++指针,元素已删除

  25. 25

    在构造函数中传递指向对象的指针

  26. 26

    销毁指向数组中对象的指针

  27. 27

    指向C ++中对象数组的指针

  28. 28

    指向C ++中对象属性的指针

  29. 29

    在 BeginThread 方法中传递指向对象的指针

热门标签

归档