STL C — отличный шаблон

#c #sorting #templates #stl #predicates

#c #сортировка #шаблоны #stl #предикаты

Вопрос:

при сортировке вектора я использую следующий код

sort(vec1.begin(), vec1.end(), less<int>());

компилятор принимает третий аргумент, который также является аргументом по умолчанию. Но для сортировки в порядке убывания я вижу greater<int>() на каждом форуме, но мой компилятор принимает только

sort(vec1.begin(), vec1.end(), isgreater<int, int>);

который, кстати, работает. шаблон обновлен в c или более старый больше<>() в какой-то другой библиотеке?

Ответ №1:

Шаблон вызывается std::greater , и он объявлен в заголовке <functional> , который вы должны включить.