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

Корректное удаление вектора векторов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Автоматический сдвиг в выделенной области http://www.cyberforum.ru/cpp-beginners/thread1220616.html
Подскажите, пожалуйста У меня есть класс окна-прямоугольника Window, у которого заданы координаты верхнего левого угла и ширина-высота И для него реализована функция print, которая выводит строку посимвольно в этот прямоугольник в .hpp class Window { public: Window (int x,int y,int w,int h):x_(x),y_(y),w_(w),h_(h), cur_x_(0), cur_y_(0), color_(15), bg_(4){}; //... void print (const...
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить: • сумму положительных элементов массив В одномерном массиве, состоящем из n вещественных элементов, вычислить: • сумму положительных элементов массива; • произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. http://www.cyberforum.ru/cpp-beginners/thread1220611.html
C++ Программа, реализующая отображение файловой системы
Одногруппнику нужно написать программу, реализующую отображение файловой системы EXT2 на каком-либо носителе (дискете). Проблема в том, что мы даже не знаем как будет выглядеть интерфейс такой программы. Поэтому просим помощи и в этом тоже.
C++ Передача анонимного двойного указателя в функцию
Создаю SNDFILE **outfile1=new SNDFILE*; priemnik(??? **outfile1) Это всё в main void priemnik(???) {
C++ Упорядочить строки матрицы D (m. n) Лексикографически по неубыванию первых k элементов строки http://www.cyberforum.ru/cpp-beginners/thread1220578.html
Помогите решить задачу C++ пожалуйста, пожалуйста Упорядочить строки матрицы D (m. n) Лексикографически по неубыванию первых k элементов строки #include <iostream.h> #include <stdlib.h> #include <conio.h> void main() { char mas;
C++ Ошибка при написании класса: Unhandled exception std::bad_alloc at memory location ПИшу свой клас Var, проблема в следующем из-за строчки first = first+1; вылетает ошибка Unhandled exception at at 0x760FB727 in Проект15.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0037E7DC. и я непойму почему(( вот код Var.h #include <iostream> подробнее

Показать сообщение отдельно
DrOffset
6795 / 4006 / 920
Регистрация: 30.01.2014
Сообщений: 6,830
01.07.2014, 16:58     Корректное удаление вектора векторов
Цитата Сообщение от SuperHero Посмотреть сообщение
не понял... почему это?
Тут проще было бы нарисовать
Это такая оптимизация, пока вектор живет и ты производишь с ним разные операции внутренне выделяемая память не освобождается.
Создали вектор
Добавили в вектор 10 чисел
Внутренняя память вектора расширилась на 10 чисел + некоторый запас, size() показывает 10 чисел
Удалили 5 чисел.
Внутренняя память вектора никуда не делать, но size() показывает 5 чисел
Сделали clear()
Внутренняя память осталась прежней, но size() показывает ноль.
Т.е. память освобождается только логически. В расчете на то, что снова потом потребуется.

Прием с swap с пустым вектором как раз позволяет именно освободить внутреннюю память физически, а не логически.
 
Текущее время: 09:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru