Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
1

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

30.07.2012, 05:02. Просмотров 1353. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2012, 05:02
Ответы с готовыми решениями:

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

Выделение и освобождение памяти
Вот встретился с вопросом какой вариант является более правильным и почему. char *Buffer1 =...

Освобождение и выделение памяти
Помогите разобраться с программой, где здесь выделение памяти (как я понял это new) и где...

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

8
77 / 77 / 8
Регистрация: 14.10.2009
Сообщений: 121
30.07.2012, 05:20 2
Так работает менеджер памяти Windows.
Он резервирует эту память за твоей программой. Вдруг ты опять захочешь выделить кусок памяти?
Тогда память выделится быстрей.
К тому-же это не реальная память, а виртуальная.
1
69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 05:22  [ТС] 3
Да про это Я читал,но как же быть?Как удалить эту память ?И в смысле виртуальная?фаил подкачки чтоль ? %)
0
Эксперт С++
5811 / 3462 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
30.07.2012, 08:32 4
Цитата Сообщение от xADMIRALx Посмотреть сообщение
Как удалить эту память ?
Ты эту память уже удалил. А система ее освободит тогда, когда ей будет удобно/когда в этой памяти возникнет необходимость
2
69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 08:34  [ТС] 5
Nameless One, А мне самому нельзя что ли этим управлять ?
0
Эксперт С++
5811 / 3462 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
30.07.2012, 08:35 6
xADMIRALx, вроде нет, но не уверен. Стандартными средствами точно нет. А зачем?
1
69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 08:36  [ТС] 7
Nameless One, Я проста запиливаю данный из файла в массив оч многа,и потом мне нужно их освободить и с другого файла запилить...
0
Эксперт С++
5811 / 3462 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
30.07.2012, 08:41 8
xADMIRALx, ну и в чем проблема? Как я говорил выше, эту память ты уже освободил. Никто тебе не мешает заново выделить память. Не бойся, утечек не будет.
2
69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 08:43  [ТС] 9
Nameless One, Ясно,спасибо!
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2012, 08:43

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

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


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

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

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