Показать сообщение отдельно

  #3  
Старый 24.06.2009, 01:26
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

нужна переменная длина - сделай класс-контейнер, который хранит указатель на блок памяти и длину блока. перегрузи оператор [] и *. но на чистом lpvoid ты ничего не сделаешь, кроме утечек памяти и гемора с отладкой.
зы: еще раз говорю, размер блока памяти хранится в куче. нельзя удалить лишь часть блока. только delete p;
запись delete [x] p; применима только в одном случае - если до этого был код p[x] = new blablabla; остальные вариации в лучшем случае или удалят весь блок или вообще ниче не удалят, а в худшем покоцают кучу и рано или поздно получишь необрабатываемую ошибку и падение программы.
 
Ответить с цитированием