Итак, у меня есть такая ситуация, когда мне нужно посмотреть, есть ли объект на моей карте stl. Если это не так, я собираюсь добавить его.
char symbolName[] = { 'H', 'e', 'l', 'l', 'o', '\0' };
map<string,TheObject> theMap;
if (theMap.find(symbolName)==theMap.end()) {
TheObject theObject(symbolName);
theMap.insert(pair<string, TheObject>(symbolName,
theObject));
}
Я получаю дамп ядра на: theMap.find, когда объекта еще нет на карте.
Предположительно, если элемент отсутствует на карте, он должен вернуть итератор, эквивалентный map :: end
Что здесь происходит?
GCC: 3.4.6