Я хочу перезаписать элемент, соответствующий ключу, новым значением.
Какую функцию я могу использовать для этого?
Я пытался назвать весело
myMap.add(key, value)
Но это не заменяет значение, уже сохраненное в карте.
add()
должно работать, вот пример:
OMUMap myMap;
char key1[] = "key-1";
char key2[] = "key-2";
/* initialize map */
myMap.add(static_cast<void*>(key1), static_cast<void*>("foo"));
myMap.add(static_cast<void*>(key2), static_cast<void*>("bar"));
std::cout << key1 << ": " << static_cast<char*>(myMap.getAt(key1)) << std::endl;
std::cout << key2 << ": " << static_cast<char*>(myMap.getAt(key2)) << std::endl;
/* replace 'key-1' value */
myMap.add(static_cast<void*>(key1), static_cast<void*>("bazzz"));
std::cout << key1 << ": " << static_cast<char*>(myMap.getAt(key1)) << std::endl;
std::cout << key2 << ": " << static_cast<char*>(myMap.getAt(key2)) << std::endl;
Выход:
key-1: foo
key-2: bar
key-1: bazzz
key-2: bar
Других решений пока нет …