STL中map的用法整理

  1. ** < map >**
    定义容器模板类 map 和 multimap 及其支持的模板。
    应包括头文件: #include < map >

template <
class Key,
class Type,
class Traits = less,
class Allocator=allocator<pair <const Key, Type> >
class map;

参数

Key 要存储在映射中的键数据类型。
Type 要存储在映射中的元素数据类型。
Traits 一种提供函数对象的类型,该函数对象可将两个元素值作为排序键进行比较,以确定其在映射中的相对顺序。 此参数为可选参数,默认值是二元谓词 less< Key >. 在 C++ 14 中可以通过指定没有类型参数的 std:: less <> 谓词来启用异类查找。 有关详细信息,请参阅 关联容器中的异类查找
Allocator 一种表示存储的分配器对象的类型,该分配器对象封装有关映射的内存分配和解除分配的详细信息。 此参数为可选参数,默认值为 allocator < pair < constKey ,Type> >。

备注

标准模板库 (STL) 映射类是:

  1. 大小可变的关联容器,基于关联键值高效检索元素值。
  2. 可逆,因为它提供双向迭代器来访问其元素。
  3. 有序,因为它的元素根据指定的比较函数按键值排序。
  4. 唯一。 因为它的每个元素必须具有唯一键。
  5. 关联容器对,因为它的元素数据值与其键值不同。
  6. 模板类,因为它提供的功能是一般性的功能,与元素或键类型无关。 用于元素和键的数据类型作为类模板以及比较函数和分配器中的参数指定。
  7. map类用于存储和检索集合中的数据,此集合中每个元素都有用于自动排列数据的唯一键。

成员函数

at 查找具有指定键值的元素。
begin 返回一个迭代器,此迭代器指向映射中的第一个元素。
cbegin 返回一个常量迭代器,此迭代器指向映射中的第一个元素。
cend 返回一个超过末尾常量迭代器。
clear 清除映射的所有元素。
count 返回映射中其键与参数中指定的键匹配的元素数量。
crbegin 返回一个常量迭代器,此迭代器指向反向映射中的第一个元素。
crend 返回一个常量迭代器,此迭代器指向反向映射中最后一个元素之后的位置。
emplace 将就地构造的元素插入到映射。
emplace_hint 将就地构造的元素插入到映射,附带位置提示。
empty 如果映射为空,则返回 true。
end 返回超过末尾迭代器。
equal_range 返回一对迭代器。 此迭代器对中的第一个迭代器指向 map 中其键大于指定键的第一个元素。 此迭代器对中的第二个迭代器指向 map 中其键等于或大于指定键的第一个元素。
erase 从指定位置移除映射中的元素或元素范围。
find 返回一个迭代器,此迭代器指向映射中其键与指定键相等的元素的位置。
get_allocator 返回用于构造映射的 allocator 对象的副本。
insert 将元素或元素范围插入到映射中的指定位置。
key_comp 返回用于对映射中的键进行排序的比较对象副本。
lower_bound 返回一个迭代器,此迭代器指向映射中其键值等于或大于指定键的键值的第一个元素。
max_size 返回映射的最大长度。
rbegin 返回一个迭代器,此迭代器指向反向映射中的第一个元素。
rend 返回一个迭代器,此迭代器指向反向映射中最后一个元素之后的位置。
size 返回映射中的元素数量。
swap 交换两个映射的元素。
upper_bound 返回一个迭代器,此迭代器指向映射中其键值大于指定键的键值的第一个元素。
value_comp 检索用于对映射中的元素值进行排序的比较对象副本。

具体的解析参考https://blog.csdn.net/qq_41135605/article/details/98749044

发布了18 篇原创文章 · 获赞 10 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41135605/article/details/98783154