如何插入到stl集中?

时间:2012-03-22 15:00:41

标签: c++ stl set

我遇到了问题......我不确定我是否理解STL文档。让我说我有这个:

#include <set>
...

struct foo
{
    int bar;
};

struct comp
{
    inline bool operator()(const foo& left,const foo& right)
    {
        return left.bar < right.bar;
    }
};

int main()
{
    std::set<foo,comp> fooset;  // Uses comparison struct/class object comp to sort the container

    ...

    return 0;
}

如何使用我自己的比较器结构将struct foo插入到集合中?

1 个答案:

答案 0 :(得分:15)

您可以使用set::insert方法,无需再做任何事情。例如,

foo f1, f2;
f1.bar = 10;
f2.bar = 20;

fooset.insert(f1);
fooset.insert(f2);