std::
map::end
公众成员函数 <map>
C++98 |
iterator end();
const_iterator end() const; |
C++11 |
iterator end() noexcept;
const_iterator end() const noexcept; |
返回一个指向容器末尾元素的下一个元素(past-the-end)的迭代器
past-the-end元素是在map中紧跟最后一个元素的理论元素。它不指向任何元素,因此不能对它解引用。
由于标准库函数使用的范围不包括其结束迭代器所指向的元素,因此该函数通常与
map::begin组合使用,
以指定包含容器中所有元素的范围。
如果容器为空,则该函数返回与
map::begin相同的结果。
☲ 参数
-
none
☉ 返回值
返回一个指向容器末尾元素的下一个元素的迭代器
如果映射对象是
const限定的,则该函数返回
const_iterator对象。否则,它将返回一个
iterator。
成员类型
iterator和
const_iterator是指向元素的双向迭代器类型。
☣ 示例
// map::begin/end
#include <iostream>
#include <map>
int main ()
{
std::map<char,int> mymap;
mymap['b'] = 100;
mymap['a'] = 200;
mymap['c'] = 300;
// show content:
for (std::map<char,int>::iterator it=mymap.begin(); it!=mymap.end(); ++it)
std::cout << it->first << " => " << it->second << '\n';
return 0;
} |
输出:
a => 200
b => 100
c => 300
✥ 复杂度
常量
☣ 迭代器的有效性
不变
⇄ 数据竞争
容器被访问(const和非const版本都不会修改容器)。
调用不访问包含的元素,但返回的迭代器可用于访问或修改元素。
同时访问或修改不同的元素是安全的。
☂ 异常安全性
No-throw保证:这个成员函数从不抛出异常。
返回迭代器的复制构造或赋值也保证不会引发抛出。
🍄 另请参阅
map::begin |
返回指向map容器第一个元素的迭代器(公众成员函数) |
map::rbegin |
返回指向容器中最后一个元素的反向迭代器(公众成员函数) |
map::rend |
返回一个指向容器中第一个元素之前的理论元素的反向迭代器(公众成员函数) |