Мой вопрос касается управления памятью.
Я получил этот контейнер:
typedef hash_map<const string, Powerdomain*, strptrhash, strptrequal> PowerdomainHashMap;
теперь я добавляю в него один элемент
PowerdomainHashMap powerdomainMap;
Powerdomain* pd1=new Powerdomain("Powerdomain1");
powerdomainMap.insert(Powerdomain_pair(pd1->getName(),pd1));
После этого моя программа делает первый шаг.
Теперь, когда первый шаг сделан, мне больше не нужны домены власти и я хочу их удалить.
Достаточно ли powerdomainMap.clear()
? Будет ли он уничтожать все записи значений на карте (т.е. вызывать delete на каждом Powerdomain * на карте?
(я думаю, это лучше, чем вызывать delete на итераторе на карте, но я не уверен)