Предположим, что у меня есть set std::set<*int>
и я хочу, чтобы элементы сортировались по целому числу, на которое они указывают, а не по типу указателя; есть ли какая-то стандартная функция comp
я могу использовать из библиотеки std
? Если нет, как бы объявить такой набор?
Я предполагаю, что мне нужно будет определить мою собственную функцию сравнения, но как это выглядит на практике?
Используя решение из Sort a std :: list <myclass *> с myclass :: operator <(myclass & other), он выглядит следующим образом:
template <typename T>
struct PComp
{
bool operator ()(const T* a, const T* b) const
{
return *a < *b;
}
};
std::set<int*, PComp<int> > my_set;