void Unregister_Internal(const _Key_T & key)
{
PWaitAndSignal m(mutex);
typename KeyMap_T::iterator r = keyMap.find(key);
if (r != keyMap.end()) {
if (r->second->isDynamic)
delete r->second;
keyMap.erase(r);
}
}
void UnregisterAll_Internal()
{
PWaitAndSignal m(mutex);
while (keyMap.size() > 0)
keyMap.erase(keyMap.begin());
}
В keyMap сидят указатели на объект шаблона, который создает синглотона специализированного типа. Вот кто-нить мне может обьяснить, почему в UnregisterAll_Internal() не делается удаление delete keyMap.begin()->second?