如何使用c++;设置/映射检查键的相等性? < C++如何设置/map检查键的相等性?< /p>
例如,在本例中:如何使用c++;设置/映射检查键的相等性? < C++如何设置/map检查键的相等性?< /p>,c++,dictionary,stl,set,C++,Dictionary,Stl,Set,例如,在本例中: struct A { int id , val; A( int _val = 0 , int _id = 0 ) { val = _val , id = _id; } bool friend operator < ( const A &x , const A &y ) { return x.val < y.val; } }; set< A > s; 结构A { int
struct A
{
int id , val;
A( int _val = 0 , int _id = 0 )
{ val = _val , id = _id; }
bool friend operator < ( const A &x , const A &y )
{
return x.val < y.val;
}
};
set< A > s;
结构A
{
int-id,val;
A(int _val=0,int _id=0)
{val=_val,id=_id;}
布尔友元运算符<(常数A和x,常数A和y)
{
返回x.val因为我们没有编写==操作符?它检查(!(x
操作符==
是否未被std::set
使用。元素a和b被视为相等的iff!(a
注意:如果定义相等的意义不同于排序,则集合可能不合适。集合中的相等本质上意味着两个元素在已排序的项目序列中具有相同的位置 可能重复相关的:。