本文共计1418个文字,预计阅读时间需要6分钟。

在C++ STL标准库中,unordered_map容器的迭代器类型为前向迭代器(又称为正向迭代器)。这意味着,假设p是一个前向迭代器,那么p只能执行以下操作:p、p++、++p以及p++操作。换句话说,两个前向迭代器之间只能进行上述操作。
C++ STL 标准库中,unordered_map 容器迭代器的类型为前向迭代器(又称正向迭代器)。这意味着,假设 p 是一个前向迭代器,则其只能进行 *p、p++、++p 操作,且 2 个前向迭代器之间只能用 == 和 != 运算符做比较。
在 unordered_map 容器模板中,提供了表 1 所示的成员方法,可用来获取指向指定位置的前向迭代器。
表 1 C++ unordered_map迭代器相关成员方法
成员方法 |
功能 |
begin()
返回指向容器中第一个键值对的正向迭代器。
end()
返回指向容器中最后一个键值对之后位置的正向迭代器。
cbegin()
和 begin() 功能相同,只不过在其基础上增加了 const 属性,即该方法返回的迭代器不能用于修改容器内存储的键值对。
cend()
和 end() 功能相同,只不过在其基础上,增加了 const 属性,即该方法返回的迭代器不能用于修改容器内存储的键值对。
find(key)
查找以 key 为键的键值对,如果找到,则返回一个指向该键值对的正向迭代器;反之,则返回一个指向容器中最后一个键值对之后位置的迭代器(如果 end() 方法返回的迭代器)。
equal_range(key)
返回一个 pair 对象,其包含 2 个迭代器,用于表明当前容器中键为 key 的键值对所在的范围。本文共计1418个文字,预计阅读时间需要6分钟。

在C++ STL标准库中,unordered_map容器的迭代器类型为前向迭代器(又称为正向迭代器)。这意味着,假设p是一个前向迭代器,那么p只能执行以下操作:p、p++、++p以及p++操作。换句话说,两个前向迭代器之间只能进行上述操作。
C++ STL 标准库中,unordered_map 容器迭代器的类型为前向迭代器(又称正向迭代器)。这意味着,假设 p 是一个前向迭代器,则其只能进行 *p、p++、++p 操作,且 2 个前向迭代器之间只能用 == 和 != 运算符做比较。
在 unordered_map 容器模板中,提供了表 1 所示的成员方法,可用来获取指向指定位置的前向迭代器。
表 1 C++ unordered_map迭代器相关成员方法
成员方法 |
功能 |
begin()
返回指向容器中第一个键值对的正向迭代器。
end()
返回指向容器中最后一个键值对之后位置的正向迭代器。
cbegin()
和 begin() 功能相同,只不过在其基础上增加了 const 属性,即该方法返回的迭代器不能用于修改容器内存储的键值对。
cend()
和 end() 功能相同,只不过在其基础上,增加了 const 属性,即该方法返回的迭代器不能用于修改容器内存储的键值对。
find(key)
查找以 key 为键的键值对,如果找到,则返回一个指向该键值对的正向迭代器;反之,则返回一个指向容器中最后一个键值对之后位置的迭代器(如果 end() 方法返回的迭代器)。
equal_range(key)
返回一个 pair 对象,其包含 2 个迭代器,用于表明当前容器中键为 key 的键值对所在的范围。