Здравствуйте Павел Кузнецов, Вы писали:
ПК>Здравствуйте peter@work, Вы писали:
ПК>>>ПК>>>struct CStudentNameIsLess
peter>>вот тут поясни, plz.
ПК>В std::list есть две перегруженных функции sort. Одна имеет сигнатуру `void sort()' и при сортировке использует операцию `<' для определения порядка элементов. Если для твоего класса существует "естественный" порядок и определена операция `<', никаких танцев с бубном вообще не требуется: пиши себе slist.sort(), как и для встроенных типов.
ПК>Если же операция `<' не определена или требуется отсортировать элементы в порядке, отличном от того, который задается этой операцией, то можно воспользоваться второй функцией std::list<>::sort, которая задана шаблоном `template<class Predicate> void sort(Predicate)'.
В MSVC 6.0, к сожалению, можно только специализировать std::greater для своего класса. Предикат передать не получится (если, конечно, не править хедер руками).