Как заменить <ключ, значение> в стандартном мультикартеC++

Программы на C++. Форум разработчиков
Anonymous
Как заменить <ключ, значение> в стандартном мультикарте

Сообщение Anonymous »

Перефразируя вопрос -
Вопрос перефразирован -
У меня есть требование заменить пару новым ключом и значением. Подумайте об этом -

Код: Выделить всё

#include 
#include 
#include 

using namespace std;

int main()
{
std::multimap mymap;

mymap.insert(std::multimap::value_type(0, "A1"));
mymap.insert(std::multimap::value_type(0, "A2"));
mymap.insert(std::multimap::value_type(2, "C1"));
mymap.insert(std::multimap::value_type(2, "C2"));
mymap.insert(std::multimap::value_type(1, "B1"));
mymap.insert(std::multimap::value_type(1, "B2"));
mymap.insert(std::multimap::value_type(1, "B3"));

std::pair pr = mymap.equal_range(1);

std::multimap::iterator it;
for (it=pr.first; it!=pr.second; ++it)
{
unsigned int key = it->first;
key = key+10;

std::string val = it->second;
val = "X" + val;
mymap.erase(it);
mymap.insert(std::multimap::value_type(key, val));

}

for ( it=mymap.begin() ; it != mymap.end(); it++ )
{
cout  C1
2 => C2
11 => XB1
11 => XB2
11 => XB3
Идея состоит в том, что я хочу заменить существующую запись на карте новой записью.

Что я делаю не так? Любая помощь очень ценится.

Подробнее здесь: https://stackoverflow.com/questions/113 ... d-multimap

Вернуться в «C++»