structSortS
{
intnNum;
stringstrName;
boolbFlag;//false->按照num比较true->按照Name比较
SortS():nNum(0),strName(""),bFlag(false)
{}
booloperatormapSortTest;
SortSstSort1;
stSort1.nNum=1;
stSort1.strName="111";
SortSstSort2;
stSort2.nNum=2;
stSort2.strName="222";
SortSstSort3;
stSort3.nNum=3;
stSort3.strName="333";
SortSstSort4;
stSort4.nNum=4;
stSort4.strName="444";
mapSortTest.insert(pair(stSort1,"liu111"));
mapSortTest.insert(pair(stSort2,"liu222"));
mapSortTest.insert(pair(stSort3,"liu333"));
mapSortTest.insert(pair(stSort4,"liu444"));
map::iteratorit=mapSortTest.begin();
for(;it!=mapSortTest.end();++it)
{
printf("it.first:%d%ssecond:%s\n",it->first.nNum,it->first.strName.c_str(),
it->second.c_str());
}
printf("\n\n");
SortSstSort5;
stSort5.bFlag=true;
stSort5.strName="222";
it=mapSortTest.find(stSort5);
if(it==mapSortTest.end())
{
printf("66666666666666666666666666666\n");
}
else
{
printf("77777777777777777777777777777\n");
}
it=mapSortTest.begin();
for(;it!=mapSortTest.end();++it)
{
printf("it.first:%d%ssecond:%s\n",it->first.nNum,it->first.strName.c_str(),
it->second.c_str());
}
system("pause");
return0;
}
在上面代码加???的地方,如果我的排序规则使用>的话,map的find就会找不到,但是如果排序规则使用 --> |