Witam, zauważyłem, że mój program operujacy na dynamicznym przydzielaniu pamięci po jej zwolnieniu gdzieś zawsze "gubi" parę kB, czyli aplikacja w menagerze po operacji przydzielenia i zwolnienia zajmuje trochę więcej.
Zrobiłem uproszczony przykład :
#include "stdafx.h"
#include <vector>
struct Sgroup
{
TCHAR GroupName[100];
int GroupID;
};
int _tmain(int argc, _TCHAR* argv[])
{
Sgroup* wsk;
std::vector<Sgroup*> wektorek;
for(int z=0;z<10000;z++) {
wsk=new Sgroup;
wektorek.push_back(wsk);
}
for(int x=0;x<10000;x++) delete wektorek[x];
wektorek.clear();
return 0;
}
Program przed pierwszą pętlą zajmije w menagerze 300K, po pętli 2924K , po drugiej pętli w której wg moich założeń powinien zwonić przydzieloną pamięć zajmuje 1832K . Pytanie brzmi co robię źle ?