Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LuSkar
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 23
#1

Освобождает ли - C++

11.12.2012, 18:00. Просмотров 294. Ответов 1
Метки нет (Все метки)

Есть функция:

C++
1
2
3
4
5
6
7
8
9
10
11
12
void CreateQ()
{
    Document* doc; //Базовый класс
    cout<<"Создание объекта Queitus (Квитанция):"<<endl<<endl;;
    string t="Тейкер", s="Сендер";
    int sm = 100;
    string dat="21.12.2012";
    int id = 1;
    doc = new Quietus(t,s,sm,dat);
    collection.insert(pair<int, Document*>(id, doc));
    doc->Show();
}
В ней создаётся динамический объект и помещается в статический контейнер мультимап. Вопрос: При очищении контейнера память освобождается?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2012, 18:00     Освобождает ли
Посмотрите здесь:

delete[] не освобождает память? - C++
Приветствую! Такая проблема - имеется функция которая должна заменить строку другой строкой по указанному диапазону: void...

Сколько памяти освобождает delete - C++
История такая, перегрузил операторы new и delete. Теперь хочу отслеживать сколько память выделено и сколько освобождено. С выделением,...

Освобождает ли память процесса менеджер памяти Windows? - C++
Если моя программа допускает кучу memory leaks - ов, то после закрытия процесса программы утерянная (утёкшая) память будет так же...

Как освобождает память STL (на простом примере) - C++
какая - то функция { struct ITEM { std::wstring a; std::wstring b; } ITEM *array =...

Программа сначала перезаписывает 100 байт, на которые указывает указатель, а затем освобождает память - C++
Читаю уроки по C++ на форуме, почему то автор не хочет все нормально писать, в гугле ничего нормального не нашел, вот зачем в этой...

Разработать программу, которая динамически выделяет 100 блоков памяти по 1000 байт каждый и освобождает их - C++
Всем привет. Подкинули на учебе вот такое задание - Напишите программу, которая динамически выделяет 100 блоков памяти по 1000 байт каж-дый...

OpenDialog не освобождает директорию - Delphi
Доброго всем времени суток. Есть программа, в которой, среди всего прочего, используется OpenDialog. Так вот после OpenDialog.Execute,...

Освобождает ли realloc память? - C (СИ)
Вот у нас есть стандартная функция void * realloc( void * ptrmem, size_t size ) Как известно, при перераспределении блока памяти, он...

hyper-v не освобождает память - Windows Server
Стоит Windows Server 2008R2 на нем роль hyper-v. В hyper-v создана виртуальная машина и ей назначено от 3 до 5 Гб оперативки. Если...

closesocket не освобождает память - C++
Код: WSADATA lpWSAData; SOCKET sock; int size_data; struct sockaddr_in addr_in; while(true){ WSAStartup (MAKEWORD(1,1),...

Форматирование диска С не освобождает место - Windows XP
Приветствую участников форума. Вопрос только к профессионалам!!! После установки Windows XP SP3 видно только 3 (три) папки через...

CopyFile не освобождает дескриптор файла? - C++ WinAPI
Приветствую! Столкнулся с проблемой, связанной с WinAPI-функцией CopyFile. Копирую данные файла в его же поток: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2012, 18:19     Освобождает ли #2
LuSkar, вы храните указатели? Вектор вызовет деструктор указателей, а не самих объектов. Поэтому ответ: нужно вызывать самому с помощью delete

Добавлено через 1 минуту
Или использовать умные указатели.

Добавлено через 7 минут
Вот пример http://liveworkspace.org/code/114gfq$0
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru