![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
Привет Всем!
есть код char *pt; if(dlenth) { char masqq[1024]; pt=new (masqq) char[20]; } pt[10]='D'; ине подает! вчем тут дело? Типа мне обьяснили это для того чтоб память полюбому очистелась так я кобы после того как переменная masqq умерла в своей обл видимости и очистив память я через указатель могу к этому участку обратится |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
не совсем понял, что ты хотел, но
1024 байта памяти, выделенные под masqq в стеке, освободятся при выходе из блока |
|||
|
||||
| rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
как я понял в стеке мы выделяем 1024 байта
потом в этих 1024 выделяем 20 я думалчто после того как мы вышли из обл видемости переменной masqq память выделеная динамически тоже удаляется а нет у мя есть указатель на нее я могу писатьв нее читать вот удалить правдо немогу |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Это не выделение памяти.
указатель может быть на любую область памяти, ты можешь читать/писать пока по рукам не получишь от системы. Это сообщение отредактировал(а) Daevaorn - 9.1.2008, 15:56 |
|||
|
||||
| rukudias |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
Привет Всем!
На основании опытов я могу сделать вывод:
данная конструкция однозначно удалит память выделеннную динамически в области статического массива провел пару опытов
те каждую секунду выделяю память но не удаляю в диспечере все оке утечки памяти нет
притакой записи все плохо выделяем память но не уничтожаем ее те утечка памяти! вот впринципе и все ! |
||||||
|
|||||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
тебе же сказали: |
|||
|
||||
| rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
а разве оператор new нужен не для выденения памяти? |
|||
|
||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
rukudias
|
||||
|
|||||
| Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 6 Всего: 29 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |