C++:迭代地图

Now*_*wax 0 c++ iterator map

我无法找到解决问题的方法.让我们假设我们有这样的地图的n个元素:

std::map<string, string> tmpMap;
Run Code Online (Sandbox Code Playgroud)

我们也有这个地图的迭代器:

std::map<string, string>::iterator itTmpMap = tmpMap.begin();
Run Code Online (Sandbox Code Playgroud)

我现在如何将迭代器更改为例如第四对?Compilator不允许我只是向迭代器添加一个整数.

Compilator error: 
int a = 4;
itTmpMap = itTmpMap + a;
Run Code Online (Sandbox Code Playgroud)

Nim*_*Nim 5

使用该功能std::advance().它需要一个参考,而不是返回一个新的迭代器,一个我从未理解的奇怪...