关于std::map
如果需要将一个类作为key,需要重载<运算符,且不能出现left<right为真, right<left也为真的情况,
如不能写成
bool operator<(const client_ID&a) const
{
//return local_ID<a.local_ID ||vlan_ID<a.vlan_ID;
}
因为,有可能local_ID<a.local_ID为真,同时a.vlan_ID <vlan_ID也为真,这样就会出现 left<right为真,right<left也为真
而要写成:
bool operator<(const client_ID &a) const
{
//return local_ID<a.local_ID ||vlan_ID<a.vlan_ID;
if (local_ID<a.local_ID)
{
returntrue;
}
else if(local_ID == a.local_ID)
{
returnvlan_ID < a.vlan_ID;
}
else
{
//local_ID>a.local_ID
returnfalse;
}
}
}