Использование remove_copy_if
Добавлено: 18 май 2009, 22:06
Столкнулся с необходимостью копировать из контейнера в контейнер элементов, удовлетворяющих заданному условию.
Условием может быть, например, совпадение поля Name с какой-то строкой str. В указании к заданию сказано, что должна использоваться функция remove_copy_if(). Перечитал немало литературы по контейнерам, но теоретический материал так и не удовлетворил мою потребность)) Скажите, пожалуйста, как воспользоваться этой функцией? Сколько параметров она должна иметь, и за что каждый из них отвечает?
Код: Выделить всё
class Trial //абстрактный класс
{
/...
};
class Test: virtual public Trial
{
//...
protected:
string Name;
};
class Exam: virtual public Trial
{
//...
protected:
string Name;
};
class OutExam: virtual public Exam
{
//...
protected:
string Name;
};
typedef list<Trial*> TList;
typedef deque<Trial*> TDeque;
//-----------------------------------------------------------------------
TList Lcon; // то, откуда нужно копировать
TList::iterator Lit=Lcon.begin();
TDeque Deqcon; //то, куда нужно копировать
TDeque::iterator Deqit=Deqcon.begin();