为什么将
我的意思是,
std::set
定义为关联容器?我的意思是,
std::map
是一个关联容器,因为它将值映射到键上,但是为什么std::set
也是关联容器呢?std::set
定义为关联容器?std::map
是一个关联容器,因为它将值映射到键上,但是为什么std::set
也是关联容器呢?
set
满足所有要求的[...]关联式容器(23.2.4)[...]
因为它满足关联式容器的所有前提条件,这些条件在23.2.4
中描述,并不像“将键映射到值”一样简单。
第二段甚至强调了这一点(或者更确切地说,强调了事实上map
和multimap
具有超出关联式容器的其他功能):
2) 每个关联式容器都是基于Key和一个次序关系Compare进行参数化的,该次序关系使Key元素具有严格的弱序(25.4)。此外,map和multimap将一个任意类型T与Key关联起来。类型Compare的对象称为容器的比较对象。
完整的段落太长,在此无法复制。