Замените элемент в OMUMap (IBM Rational Rhapsody)

Я хочу перезаписать элемент, соответствующий ключу, с новым значением. Какую функцию я могу использовать для этого?

Я попытался позвонить весело

myMap.add(key, value)

Но это не заменяет значение, уже сохраненное в карте.


person Sijith    schedule 19.07.2016    source источник


Ответы (1)


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
person sergej    schedule 19.07.2016