Работа с парами из std::map через указатель на данные пары

Здравствуйте такой вопрос интересует как я могу с помощью указателя указывать на пары которые находятся в map. Вот мой код, но в нем у меня получилось поставить указатель только на первую пару, а вот как его передвигать на следующие пары у меня не сильно выходит.

#include <iostream>
#include <string>
#include<map>
using namespace std;

class NAME {
   string name;
public:
  NAME() {
     name = "";
  }
  string GetName()  const{
    return name;
  }
  void SetName(string name) {
    this->name = name;
  }

  bool operator<(const NAME& other) const {
    return this->name < other.name;
  }

};

class NUMBER {
  string number;
public:
  NUMBER() {
    number = "";
  }
  string GetNumber() const {
    return number;
  }
  void SetNumber(string number) {
    this->number = number;
  }
};

int main() {
setlocale(LC_ALL, "Rus");

map<NAME, NUMBER> p;

NAME First;
NUMBER Second;

First.SetName("client1");
Second.SetNumber("1");
p[First] = Second;

First.SetName("client2");
Second.SetNumber("2");
p[First] = Second;

auto it = p.begin();    
auto str = &*it;                         // тут я поставил указатель на первую пару из map
cout<<str->first.GetName()<<endl;
cout << str->second.GetNumber()<<endl;

//как я могу через указатель обратится ко второй паре из map ??

cout << str->first.GetName() << endl;    
cout << str->second.GetNumber();
}

Ответы (0 шт):