Разве невозможно иметь какое-то уникальное без оперы>? Я имею в виду, я могу понять, что для уникального мне нужен оператор == (как яблоки не стулья), но почему стул должен быть больше, чем яблоко ??? Я должен был бы реализовать оператор для некоторых объектов, где это не имеет смысла! может быть, какая-то подсказка имела бы больше смысла.
Поэтому я решил реализовать вопрос для себя, на мой взгляд, решение, которое имеет больше смысла:
шаблон встроенный
void unique (listtype In, listtype & Out)
{
Out.resize (In.size ());
станд :: копия (In.begin (), In.end (), Out.begin ());
listtype :: iterator it = Out.begin ();
listtype :: iterator it2 = Out.begin ();
IT2 ++;
int tmpsize = Out.size ();
while(it!=Out.end())
{
it2 = it;
it2++;
while((it2)!=Out.end())
{
if ((*it)==(*it2))
Out.erase(it2++);
else
++it2;
}
it++;
}
}
возможно, не лучшее решение, но на данный момент я не знаю лучше