0

假设我有一个集合std::set<*int>,我希望元素按它们指向的整数而不是指针类型排序;comp我可以从std库中使用一些标准功能吗?如果不是,我将如何声明这样一个集合?

我猜我必须定义自己的比较函数,但在实践中看起来如何?

4

1 回答 1

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;
于 2013-10-15T12:20:24.690 回答