结构多集

时间:2019-06-27 14:01:21

标签: c++ structure multiset

我想声明一个结构的多重集。 我的多集声明的当前形式是

struct obj
{
   //code
};

struct compare
{
    inline bool operator()(const obj &a, const obj &b)
    {
    //code
    }
};
multiset<obj,compare> mst;

是否还有其他形式的声明,可以通过对 obj 进行重载运算符来仅使用一种结构。

1 个答案:

答案 0 :(得分:1)

是的,您可以为结构体重载运算符<,既可以作为成员函数,也可以作为独立函数。 (根据我的主观观点,这将使代码更简洁),但实际上不会导致性能上的任何差异。

事实上,优化编译器更有可能生成完全相同的代码(前提是实际的比较代码相同)。