假设我有一个集合std::set<*int>
,我希望元素按它们指向的整数而不是指针类型排序;comp
我可以从std
库中使用一些标准功能吗?如果不是,我将如何声明这样一个集合?
我猜我必须定义自己的比较函数,但在实践中看起来如何?
使用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;