Работа с парами из 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();
}