Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Stl и list


Автор: keisik 14.5.2002, 19:08
Проблема вот в чём: насколько я понимаю, при создании и добавлении в список нового элемента (имея класс class CA и list<class CA> m_list )  CA element; m_list.push_back(element); ему выделяется где-то память, а при удалении m_list.remove(element); он выдирается из списка, и занимаемая им память освобождается? Или нет?
Просто дело такое(я смотрю под Win2000 TaskManager-ом занимаемую процессом память): при добавлении новых элементов, она как проложено, увеличивается, а после удаления даже всех элементов, она чего-то там изменяется, но в принципе, практически не уменьшается. Это как понимать? Может просто какие-то средства специальные юзать надобно, для контроля за памятью, а TaskManager врёт всё бессовестно?

Автор: suborg 19.5.2002, 13:15
память освобождается (вызывается деструктор объекта). Поверить можно если вдеструкторе какое ни будь сообщение выдать. Соответственно если в списке - не объекты, а указатели, то удалять придется вручную

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)