透明比较器的意义
C 14 在关联容器中引入了一种称为“透明比较器”的区别。本文深入探讨了这个概念的目的和含义。
透明比较器的基本原理
Dietmar 和 remyabel 的答案中提出的问题突出了早期关联容器的局限性。他们无法使用与容器的键类型无法直接比较的类型执行某些操作(例如查找、计数)。透明比较器通过使用可以与容器的键进行比较的类型来解决此问题。
默认行为和兼容性
透明比较器不会影响默认行为标准集装箱。添加透明比较器重载使您可以选择使用它们来增强灵活性。默认情况下,容器仍然像以前一样运行,保持向后兼容性。
透明函子用法
要使用透明比较器,只需使用像 std 这样的“透明函子”: :less,它接受任何参数类型。这使得异构查找操作成为可能。
命名合理性
术语“透明比较器”源自STL N3421中引入的“菱形运算符”的概念。透明函子对于关联容器的异构查找功能至关重要,它将它们的参数转发给另一个运算符。它们连接不同参数类型的能力类似于钻石,因此被称为“透明比较器”。
以上是透明比较器如何增强 C 14 关联容器?的详细内容。更多信息请关注PHP中文网其他相关文章!