Я создаю некоторые объекты внутри цикла и добавить его в listwith:Удалить созданные объекты внутри списка
list<MyObject> myList;
MyObject* ob = new MyObject();
ob.setAttribute("whatever");
myList.push_back(*ob);
После завершения цикла, я использую список несколько раз. Я начал теперь детектор утечки и увидел, что я должен удалить все объекты MyObject
.
Как я их правильно удаляю (в деструкторе?). Должен ли я использовать итератор? Но как я получаю реальный объект, а не указатель итератора?
Большое спасибо.
Обратите внимание, что ваш список содержит необработанные объекты, а не указатели на них. – Rerito
Это не скомпилируется - вы пытаетесь нажать указатель на список объектов. Если у вас нет достаточной причины для faffing around с 'new', просто сделайте' push_back (Object()) 'и не беспокойтесь о утечке памяти. –
извините - я написал образец кода в вопросе и забыл добавить некоторые детали. Я изменил его. –