std::map<std::string, std::string> myMap;
std::map<std::string, std::string>::iterator i = m_myMap.find(some_key_string);
if(i == m_imagesMap.end())
return NULL;
string *p = &i->first;
Действительна ли последняя строка? Я хочу сохранить этот указатель p в другом месте, будет ли он действительным для всей жизни программы? Но что произойдет, если я добавлю еще несколько элементов на эту карту (с другими уникальными ключами) или удалю некоторые другие ключи, не перераспределите эту строку (пару ключ-значение), так что p станет недействительным?