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

как работает метод vec.clear() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Моделирование случайных величин http://www.cyberforum.ru/cpp-beginners/thread592461.html
Смоделировать бросание игрального кубика (т.е. с помощью датчика случайных чисел получить одно из целых чисел 1, 2, .... 6) каждым из двух игроков. Определить, кто из игроков получил на кубике больше очков. Помогите пожалуйста... ) C++ или C#
C++ error LNK2001 и глобальные переменные класса Всем доброго дня! В программе есть класс, целиком описанный в .h файле. Структура, приблизительно, такая: //test.h class tC { public: tC() { } http://www.cyberforum.ru/cpp-beginners/thread592456.html
C++ Pomogite, пожалуйста, написать программу на си++
Даны действительные числа а0, ..., а5, многочлен Р (х) шестой степени. Получить действительные числа d0, ..., d7, такие, что Р(х) = d0 +d1 (х- а0) + d2(x- а0)(х- а1)+ ... +d7(х- а0)(х- а1)... (х- а5). Когда в задаче говорится, что дан многочлен Р (х) степени п, то подразумевается, что даны действительные числа (коэффициенты) р0, р1, .,., рп такие, что Р (х) = рпхп + Рп-1хn-1... +р0. Аналогично,...
Вывести на экран диапазон температур C++
F – температура по Фаренгейту; C – температура по Цельсию; F = C*9/5 + 32; C = (F-32)*5/9; Вывести на экран диапазон температур от точки замерзания воды, до точки кипения воды, с шагом 2 градуса, по шкале Цельсия и по шкале Фаренгейта. Использовать разные циклы. Определить, есть ли значение температуры, совпадающее по шкалам Цельсия и Фаренгейта? C++, Visual Studio 2010
C++ Работа с файлами в C++ http://www.cyberforum.ru/cpp-beginners/thread592428.html
Как можно просто создать файл средствами C++? Я делаю так: ofstream out("output.txt"); out.close(); И вообще, можете посоветовать где-нибудь почитать про работу с файлами в C++, можно и на английском, не приципиально
C++ Вывести на экран виртуальный метод Как вывести на экран виртуальный метод? подробнее

Показать сообщение отдельно
dqrest
2 / 2 / 0
Регистрация: 06.01.2012
Сообщений: 114
31.05.2012, 15:30     как работает метод vec.clear()
Вот я тут читаю книгу по stl библиотеку про вектора, списки, очереди. Тут у меня возник вопрос, помогите плиз. Есть допустим vector<int> vec, в него мы поместили 1000000 штук int чисел, затем допустим мы сочли, что они нам больше не нужны, мы из удаляем, затем добавляем 1000000000 штук int чисел и т.д. Вопрос в том, что как лучше всего освобождать вот этот вектор, чтоб оперативную память не сожрал. Т.е. если мы применим vec.clear() b or vec.resize(0), то чувствую, что память физически не освободиться, как лучше всего это сделать????И в чем разница между тем, чтобы вернуть память системе, и освободить память. Разве освобождение памяти, не возвращает память системе? Если не так, то ответьте, пожалуйста, что происходит при освобождении памяти и при возврате памяти системе. Кажется, что это тоже самое и для деструкторов классов....Неужели после того, как сработает деструктор, который освобождает память, не вернет память системе. И вообще, нужно ли возвращать память системе???
Вот псевдокод


C++
1
2
3
4
5
6
7
8
9
void main()
{
  for(int i=0;i<9999999;i++)
  {
    
    func1();//  выделяется память для 1000000 int под вектор
    func2();//нам этот вектор не нужен, освобождаем память  
  }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru