#include <map>
#include <iostream>
typedef std::map<std::string, std::string> MAP;
void function(const MAP &map, const std::string &findMe) {
try {
const std::string& value = map.at(findMe);
std::cout << "Value of key \"" << findMe.c_str() << "\": " << value.c_str() << std::endl;
// TODO: Handle the element found.
}
catch (const std::out_of_range&) {
std::cout << "Key \"" << findMe.c_str() << "\" not found" << std::endl;
// TODO: Deal with the missing element.
}
}
int main() {
MAP valueMap;
valueMap["string"] = "abc";
function(valueMap, "string");
function(valueMap, "strong");
return 0;
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKdHlwZWRlZiBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgc3RkOjpzdHJpbmc+IE1BUDsKCnZvaWQgZnVuY3Rpb24oY29uc3QgTUFQICZtYXAsIGNvbnN0IHN0ZDo6c3RyaW5nICZmaW5kTWUpIHsKICAgIHRyeSB7CiAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIHZhbHVlID0gbWFwLmF0KGZpbmRNZSk7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJWYWx1ZSBvZiBrZXkgXCIiIDw8IGZpbmRNZS5jX3N0cigpIDw8ICJcIjogIiA8PCB2YWx1ZS5jX3N0cigpIDw8IHN0ZDo6ZW5kbDsKICAgICAgICAvLyBUT0RPOiBIYW5kbGUgdGhlIGVsZW1lbnQgZm91bmQuCiAgICB9CiAgICBjYXRjaCAoY29uc3Qgc3RkOjpvdXRfb2ZfcmFuZ2UmKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJLZXkgXCIiIDw8IGZpbmRNZS5jX3N0cigpIDw8ICJcIiBub3QgZm91bmQiIDw8IHN0ZDo6ZW5kbDsKICAgICAgICAvLyBUT0RPOiBEZWFsIHdpdGggdGhlIG1pc3NpbmcgZWxlbWVudC4KICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICBNQVAgdmFsdWVNYXA7CiAgICB2YWx1ZU1hcFsic3RyaW5nIl0gPSAiYWJjIjsKICAgIGZ1bmN0aW9uKHZhbHVlTWFwLCAic3RyaW5nIik7CiAgICBmdW5jdGlvbih2YWx1ZU1hcCwgInN0cm9uZyIpOwoJcmV0dXJuIDA7Cn0=