我遇到了问题......我不确定我是否理解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插入到集合中?
答案 0 :(得分:15)
您可以使用set::insert
方法,无需再做任何事情。例如,
foo f1, f2;
f1.bar = 10;
f2.bar = 20;
fooset.insert(f1);
fooset.insert(f2);