C std :: set为什么是关联的?

前端之家收集整理的这篇文章主要介绍了C std :: set为什么是关联的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么std :: set定义为关联容器?

我的意思是std :: map是一个关联容器,因为它将一个值映射到一个键,但为什么它是一个集合?

解决方法

23.4.6.1类模板集概述[set.overview]

A set satisfies all of the requirements of [..] an associative
container (23.2.4) […]

因为它满足了23.2.4中描述的作为关联容器的所有前提条件.并不像“将一个键映射到一个值”那么简单.

第二段甚至强调了这一点(或者更确切地说,事实上,映射和多重映射在关联容器上具有附加功能):

23.2.4关联容器[associative.reqmts]

2) Each associative container is parameterized on Key and an ordering relation Compare that induces a strict
weak ordering (25.4) on elements of Key. In addition,map and multimap associate an arbitrary type T with
the Key. The object of type Compare is called the comparison object of a container.

完整的段落太大,无法在这里重现.

猜你在找的C&C++相关文章