Effective_STL 学习笔记(二十一) 永远让比较函数对相等的值返回 false

 

除非比较函数总是为相等的值返回 false,否则将会打破所有的标准关联容器

不管关联容器是否允许存在副本(set、map、multiset、multimap)

对于(set、map)使用 less_equal (<=):

1   !( 10A  <= 10B ) && !( 10B <= 10A );  // 测试10A 和10B是否相等

结果为 false,当 insert(10A) 与 insert(10B) 的时候将破坏容器

 

对于允许存在副本的关联容器,使用 equal_range,

不能使得 10A和10B同时出现在 equal_range 范围内,一样导致容器破坏

 

从技术上说,用于排序关联容器的比较函数必须在它们所比较的对象上定义一个“严格弱化”

 

转载于:https://www.cnblogs.com/kidycharon/p/10020922.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值