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が無効になります。