Сдравствуйте, я столкнулся с проблемой избыточного выделения памяти в 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 байта), но на практике выделяется в разы больще.