使用透明比较器更改 C 14 中的关联容器
C 14 引入了关联容器的重大更改,允许“透明比较器”。 ”此更改要求 find、count、lower_bound、upper_bound 和 equal_range 成员函数模板不参与重载决策,除非存在 Compare::is_transparent 类型。
透明比较器的用途
透明比较器允许使用与键类型不同的类型来比较关联容器中的元素。这扩展了关联容器的功能,允许更灵活和高效的查找。
好处和变化
此更改有利于异构查找场景,允许直接比较不同的容器内的数据类型。然而,它并没有从根本上改变标准容器的默认行为。如果未显式使用透明比较器(例如 std::less),容器将继续像以前一样运行。
对现有代码的影响
std::set 的默认比较器现在隐式指定 Key = std::less
总之,C 14 中的透明比较器提供了增强的功能对于关联容器,可以实现更多样化的数据比较。但是,需要注意的是,透明比较器默认情况下处于禁用状态,如有必要,可以安全地由现有代码采用。
以上是C 14 透明比较器如何更改关联容器查找?的详细内容。更多信息请关注PHP中文网其他相关文章!