Выделение памяти.Избыточное выделение
От: gz_  
Дата: 30.05.08 09:49
Оценка:
Сдравствуйте, я столкнулся с проблемой избыточного выделения памяти в WinXP.
Суть в том что при выделении памяти под массив объектов выделенная память (если верить диспетчеру) превышает расчетное раза в 2-3 т.е. при расчетном выделении около 40 мБ сжирается порядка 120 мБ.

Плзз не отвечайте типа память гдето потекла, код простой это исключено.

Код имеет вид:

//------------------------------------

Boo **objMass = new Boo *[COUNT];

for(int i = 0; i<COUNT; i++)
{
. . .
objMass[i] = new Boo(*params*);
}

//-------------------------------------

sizeof(Boo) выдает 16 байт

внутри класса производится выделение памяти под масив чаров(строку), остальные переменные стандартных типов unsigned char, int...

расчетный размер выделения примерно 16 + длина строки + 1 (+ возможно размеры указателей по 4 байта), но на практике выделяется в разы больще.
выделение памяти избыток помощь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.