SGI

键值关联容器

类别:容器 组件类型:概念

描述

键值关联容器是一种关联容器,它将键与其他一些对象关联在一起。键值关联容器的值类型是:pair<const key_type, data_type>. [1]

改进

关联容器

相关类型

除了在关联容器需求中定义的类型外,还引入一个新类型。此外,键值关联容器还引入了一个新的类型限制:
键类型 X::key_type X::value_type.
相关联的键的类型 数据类型 X::data_typeX::value_type相关联的数据类型. 键值关联容器可以被视为是key_type.
X::value_type data_typepair<const key_type, data_type>.

的一个映射

值类型 存储在容器中的对象类型。值类型要求是:
符号 X值类型
键值关联容器模型类型 XX::value_type
a X数据类型
类型对象 XX::key_type
t, d Xk

p

q

X::iterator

定义

有效表达式

无,除了在关联容器需求中定义的那些之外。

表达式语义

multimap

hash_mappair<const key_type, data_type>hash_multimap注释[1]值类型必须是:key_type, 而不是相关联的数据类型pair<key_type, data_type>pair<const key_type, data_type>,因为关联容器的关键不可变性不变量。键值关联容器中的对象部分可能被修改,但部分可能不会。请注意此事实的含义:键值关联容器无法提供可变迭代器(如在平凡迭代器需求中定义的那样),因为可变迭代器的值类型必须是可分配的,而

不是可分配的。然而,键值关联容器可以提供不完全常量的迭代器:例如这样的迭代器:

(*i).second = d
[Silicon Surf] [STL Home]
是有效的。 另请参阅