一、前言
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 属性,不能用于批改容器内存储的键值对。 |
这个的具体性能不再阐明,和序列化容器是一样的性能,惟一不同的就是这里的数据是“键值对”。
对于迭代器的应用,曾经有很多的实例,这里就不再阐明了。