C++官网参考链接:https://cplusplus.com/reference/map/map/begin/
公有成员函数
<map>
std::map::begin
C++98
iterator begin();
const_iterator begin() const;
C++11
iterator begin() noexcept;
const_iterator begin() const noexcept;
返回指向开始的iterator
返回指向map容器中第一个元素的iterator。
因为map容器始终保持其元素的顺序,所以begin指向遵循容器排序标准(sorting criterion)的第一个元素。
如果容器为empty,则不能解引用返回的iterator的值。
形参
没有形参。
返回值
指向容器中第一个元素的iterator。
如果map对象是const限定的,则该函数返回const_iterator。否则,它返回一个iterator。
成员类型iterator和const_iterator是指向元素(value_type类型)的双向iterator(bidirectional iterator)类型。
注意,map容器中的value_type是pair<const key_type,mapped_type>的别名。
用例
// 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;
}
输出:
复杂度
常量。
iterator的有效性
没有变化。
数据竞争
容器被访问(const和非const版本都不会修改容器)。
调用不访问包含的元素,但返回的iterator可用于访问或修改元素。同时访问或修改不同的元素是安全的。
异常安全
无抛出保证:该成员函数从不抛出异常。
返回的iterator的复制构造或赋值也保证永远不会抛出。