Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Автоматический сдвиг в выделенной области http://www.cyberforum.ru/cpp-beginners/thread1220616.html
Подскажите, пожалуйста У меня есть класс окна-прямоугольника Window, у которого заданы координаты верхнего левого угла и ширина-высота И для него реализована функция print, которая выводит строку...
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>...
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... подробнее

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

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