У меня есть карта, которая связывает целые числа с векторами (объектов). Эти векторы представляют собой набор задач для выполнения. Чтобы уменьшить количество копий при использовании этой карты и вектора, я настроил их на использование указателей.
std::map<int, std::vector<MyObject *> *> myMap;
Во время инициализации класса, который содержит myMap, я заполняю myMap, создавая новый вектор, заполненный новыми объектами MyObject.
Однако меня беспокоит управление памятью. Теперь у меня есть эти различные предметы, которые лежат где-то в куче, и я отвечаю за их очистку, когда я закончу с ними. Я также знаю, что НИКОГДА не закончу с ними, пока программа не закончится. Но как насчет 10 недель, когда кто-то решит, что умный способ изменить это приложение включает в себя удаление элементов с карты / векторов. Это может привести к утечке памяти.
У меня вопрос, как я могу обработать правильное освобождение этих объектов, чтобы даже если они были удалены через функцию STL, объекты успешно удалялись?
Ваша помощь очень ценится, дайте мне знать, если я пропустил что-то критическое!
Спасибо!