自定义结构体作为std::map的key

map的key要求是copyable和comparable,

 

typedef struct stabc
{
 
 int a;  

int b;

 int c; 
 bool operator < (const struct stabc stABCComp )const
 {
  return  (a!= stABCComp .a) ? (a< stABCComp .a) :
   (b!= stABCComp .b) ? (b< stABCComp .b) :
   (c< stABCComp .c);
   
 }
}StABC;

 

 

 

inline bool operator< (const T& Left, const T& Right)
{
  return 
    (Left.a != Right.a) ? (Left.a < Right.a) :
    (Left.b != Right.b) ? (Left.b < Right.b) :
                          (Left.c < Right.c);
}

 

参考连接:

http://topic.csdn.net/u/20071102/10/86602ffb-89a2-44d0-8c30-8d91be728b4b.html

http://faq.csdn.net/read/183272.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值