C ++ remove_if для вектора объектов

У меня есть вектор (порядок важен) объектов (назовем их классом myobj), из которого я пытаюсь удалить несколько объектов за раз.

class vectorList
{

    vector<*myobj> myList; 
};

class myobj
{

    char* myName;
    int index;
    bool m_bMarkedDelete;
}

Я думал, что лучший способ сделать это - пометить определенные объекты myobj для удаления, а затем вызвать myList.remove_if () для вектора. Однако я не совсем уверен, как использовать для этого предикаты и тому подобное. Должен ли я создать в объекте переменную-член, которая позволяет мне сказать, что я хочу удалить myobj, а затем создать предикат, который проверяет, установлена ​​ли переменная-член?

Как мне реализовать предикат как часть класс vectorList?

31
задан Brian Tompsett - 汤莱恩 15 August 2015 в 15:05
поделиться