替换 OMUMap 中的一个元素(IBM Rational Rhapsody)
Replace an element in OMUMap(IBM Rational Rhapsody )
我想用新值覆盖与键对应的元素。
我可以为此使用什么功能?
我试过调用 fun
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
我想用新值覆盖与键对应的元素。 我可以为此使用什么功能?
我试过调用 fun
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