C++ STL map迭代器

Posted 等待樱花盛开

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ STL map迭代器相关的知识,希望对你有一定的参考价值。

一、前言

stl标准库为map容器配备的是双向迭代器(bidirectional iterator),因此map 容器迭代器只能进行 ++p、p++、--p、p--、*p 操作,并且迭代器之间只能使用 == 或者 != 运算符进行比较。

二、迭代器方法

方法功能
begin()返回指向容器中第一个(注意,是已排好序的第一个)键值对的双向迭代器。如果 map 容器用 const 限定,则该方法返回的是 const 类型的双向迭代器
end()返回指向容器最后一个元素(注意,是已排好序的最后一个)所在位置后一个位置的双向迭代器,通常和 begin() 结合使用。如果 map 容器用 const 限定,则该方法返回的是 const 类型的双向迭代器
rbegin()返回指向最后一个(注意,是已排好序的最后一个)元素的反向双向迭代器。如果 map 容器用 const 限定,则该方法返回的是 const 类型的反向双向迭代器
rend()返回指向第一个(注意,是已排好序的第一个)元素所在位置前一个位置的反向双向迭代器。如果 map 容器用 const 限定,则该方法返回的是 const 类型的反向双向迭代器
cbegin()和 begin() 功能相同,只不过在其基础上,增加了 const 属性,不能用于修改容器内存储的键值对
cend()和 end() 功能相同,只不过在其基础上,增加了 const 属性,不能用于修改容器内存储的键值对
crbegin()和 rbegin() 功能相同,只不过在其基础上,增加了 const 属性,不能用于修改容器内存储的键值对
crend()和 rend() 功能相同,只不过在其基础上,增加了 const 属性,不能用于修改容器内存储的键值对。

这个的具体功能不再说明,和序列化容器是一样的功能,唯一不同的就是这里的数据是“键值对”。
对于迭代器的使用,已经有很多的实例,这里就不再说明了。

以上是关于C++ STL map迭代器的主要内容,如果未能解决你的问题,请参考以下文章

我为同学解难题⑬C++程序设计第6期:STL标准库之map容器

C++ STL中的 iterator 和 const_iterator

C++ STL 基础及应用 迭代器

C++ STL容器在for循环中删除迭代器 正确方法 it++正确吗

C++ STL容器在for循环中删除迭代器 正确方法 it++正确吗

c++ STL map