关于c++:C-STL-map迭代器

38次阅读

共计 757 个字符,预计需要花费 2 分钟才能阅读完成。

一、前言

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 属性,不能用于批改容器内存储的键值对。

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

正文完
 0