目录

关联容器

优质
小牛编辑
134浏览
2023-12-01

关联容器

有点像在电影《Oz国历险记(The Wizard of Oz)》(译注:国内又译为《绿野仙踪》。全世界最有名的童话片之一,荣获1939年奥斯卡最佳电影歌曲和最佳电影配乐。)中的多色马,关联容器是不同颜色的生物。真的,它们共享了序列容器的很多特性,但它们在很多基本方法上不同。比如,它们自动保持自己有序;它们通过等价而不是相等来查看它们的内容;set和map拒绝重复实体;map和multimap一般忽略它们包含的每个对象的一半。是的,关联容器也是容器,但如果你原谅我把vector和string比作Kansas,我们干脆不再在Kansas了。

在下面的条款里,我解释了等价的临界概念,描述了比较函数的一个重要约束,介绍了用于指针关联容器的自定义比较函数,从官方和实践方面讨论了键的常量性,在改进关联容器的效率上提供了建议。

在本章的结尾,我考察了STL缺乏的基于散列表的容器,我也审视了两个常见(非标准)的实现。虽然STL的确没有提供散列表,但你不必自己写或放弃它。高质量的实现很容易得到。