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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 05:02     Выделение и освобождение памяти в c++ #1
Не давно наткнулся на такую замечательность :

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

C++ Выделение-освобождение памяти
C++ Выделение и освобождение памяти в конструкторе и деструкторе
C++ Освобождение и выделение динамической памяти

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

Или воспользуйтесь поиском по форуму:
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 08:43  [ТС]     Выделение и освобождение памяти в c++ #9
Nameless One, Ясно,спасибо!
Yandex
Объявления
30.07.2012, 08:43     Выделение и освобождение памяти в c++
Ответ Создать тему
Опции темы

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