Пусть у меня есть следующая функция:
int func(void)
{
std::vector<int> vec1;
vec1.push_back(10);
std::vector<int> vec2(vec1.begin(), vec1.end() );
return 0;
}
Как я понимаю после вызова vec1 и vec2 освобождаются из стэка, как локальные переменные. А освобождается ли куча от массивов, на которые указывают vec1 и vec2 ?
Память, выделенная под хранение элементов вектора, освобождается, т.к. деструктор локальных объектов вызывается автоматически при выходе из метода
RAII:
The C++ library classes that manage their own resources follow RAII: std::string, std::vector, std::thread, and many others acquire their resources in constructors (which throw exceptions on errors), release them in their destructors (which never throw), and don't require explicit cleanup.
Деструктор объекта вектор:
Уничтожает контейнер. После вызова деструктора высвобождается используемая память. Обратите внимание, что если элементы являются указателями, объекты, на которые они указывают не уничтожаются.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Когда я пользуюсь некоторыми приложениями, где играет музыка или видео, то когда хочу изменить громкость хард кнопками - вместо громкости...
Есть рест - сервис, принимающий xml и обрабатывающий его библиотекой jaxbДля одного из полей написан адаптер для даты:
Создал метод dbstore, который должен создавать базу, если она пуста, извелкать всех пользователей и тд