需要在结构体中重载'<'运算符,下面是我写的一个例子:
#include<iostream>
#include<set>
using namespace std;
struct t_test
{
int key;
string value;
t_test()
{
}
t_test(const t_test &s)
{
key = s.key;
value = s.value;
}
bool operator<(const t_test &src) const
{
return key < src.key;
}
};
typedef struct t_test T_test;
int main(int argc,char ** argv)
{
set<t_test> s_p1;
t_test str1[] ;
str1[].key = ;
str1[].value = "lijin";
str1[].key = ;
str1[].value = "duanxiang";
s_p1.insert(str1[]);
s_p1.insert(str1[]);
set<T_test>::iterator it;
it = s_p1.begin();
cout<<it->key<<endl;
return ;
}