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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
#1

Выделение и освобождение памяти в c++ - C++

30.07.2012, 05:02. Просмотров 1249. Ответов 8
Метки нет (Все метки)

Не давно наткнулся на такую замечательность :

C++
1
2
3
4
system("PAUSE");//1 раз
int *p = new int[30000]; // память
system("PAUSE");//2 раз
delete[] p;// нет память
Запускаю программу,смотрю скока мемори она хавает 226(примерно)
Нажимаю 1 раз интер,программа хавает мемори 654кб(примерно)
нажимаю еще раз интер и тут,чудо программа опять хавает 654кб


почитал про new delete понял как они работуют,и тут сразу же мысль как же удалить этот не нужный кусок?Что бы программка опять хавала 226
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2012, 05:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выделение и освобождение памяти в c++ (C++):

Выделение и освобождение памяти - C++
Доброго времени суток. Пишу класс по ООП, и назрел один вопрос, связанный с моментом выделения и освобождения памяти. class SOK { ...

Освобождение и выделение памяти - C++
Помогите разобраться с программой, где здесь выделение памяти (как я понял это new) и где освобождение памяти. #include <iostream> ...

Выделение и освобождение памяти - C++
Вот встретился с вопросом какой вариант является более правильным и почему. char *Buffer1 = (char *)malloc(65536) char *Buffer2 =...

Выделение-освобождение памяти - C++
Добрый день. Написал заготовку под программу. Возник вопрос: правильно ли выделяю-освобождаю память? Программа работает корректно, но...

выделение и освобождение памяти - C++
В моей программе есть следующий код: char* lexems; // массив указателей на символ char* lexem; // вспомогательная...

Освобождение и выделение динамической памяти - C++
Привет народ, такой вопрос: Допустим в main, указателю выделил память, всё разумеется нормально, читаю пишу всё ок, потом передал этот...

8
ProNoooob
75 / 75 / 6
Регистрация: 14.10.2009
Сообщений: 121
30.07.2012, 05:20 #2
Так работает менеджер памяти Windows.
Он резервирует эту память за твоей программой. Вдруг ты опять захочешь выделить кусок памяти?
Тогда память выделится быстрей.
К тому-же это не реальная память, а виртуальная.
1
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 05:22  [ТС] #3
Да про это Я читал,но как же быть?Как удалить эту память ?И в смысле виртуальная?фаил подкачки чтоль ? %)
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
30.07.2012, 08:32 #4
Цитата Сообщение от xADMIRALx Посмотреть сообщение
Как удалить эту память ?
Ты эту память уже удалил. А система ее освободит тогда, когда ей будет удобно/когда в этой памяти возникнет необходимость
2
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 08:34  [ТС] #5
Nameless One, А мне самому нельзя что ли этим управлять ?
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
30.07.2012, 08:35 #6
xADMIRALx, вроде нет, но не уверен. Стандартными средствами точно нет. А зачем?
1
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 08:36  [ТС] #7
Nameless One, Я проста запиливаю данный из файла в массив оч многа,и потом мне нужно их освободить и с другого файла запилить...
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
30.07.2012, 08:41 #8
xADMIRALx, ну и в чем проблема? Как я говорил выше, эту память ты уже освободил. Никто тебе не мешает заново выделить память. Не бойся, утечек не будет.
2
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 08:43  [ТС] #9
Nameless One, Ясно,спасибо!
1
30.07.2012, 08:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2012, 08:43
Привет! Вот еще темы с ответами:

Указатели на строки. Выделение и освобождение памяти - C++
Всем добрый день. Есть два указателя на char. Для первого выделяется память а у второго просто делаем копию с первого. Для 1-го...

выделение памяти и никогда не выполняете* ее освобождение - C++
Как это можно сделать написать программу с бесконечным циклом» в котором постоянно происходит выделение памяти и никогда не выполняете*...

Выделение и освобождение памяти в конструкторе и деструкторе - C++
Есть программа с классом содержащим обьекты векторы. Однако по кончанию программы выбивате ошибку _block_type_is_vali(phead->nblockuse)....

Выделение и освобождение памяти для локальных переменных функций - C++
Привет Столкнулся со следующей проблемой. Написал простенькое приложение: читаем 1 строку из файла на диске, записываем 1 строку в файл...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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