假设我有一个集合std::set<*int>
,我希望元素按它们指向的整数排序,而不是指针类型;我可以在comp
库中使用一些标准的std
函数吗?如果没有,我将如何宣布这样的一套?
我猜我必须定义自己的比较函数,但这在实践中看起来如何?
答案 0 :(得分:3)
使用Sort a std::list<myclass*> with 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;