Bir sınıfta statik std::vector
var. Ben Microsoft'un bellek sızıntısı algılama araçları kullandığınızda:Bellek sızıntısı (çeşit) statik bir std :: vektör ile
_CrtMemState state;
_CrtMemCheckpoint(& state);
_CrtMemDumpAllObjectsSince(& state);
ben vektör içine şeyler eklemek sonra bir sızıntı raporlar. Bu bana mantıklı geliyor çünkü vektöre bir şey eklendiğinde yeni alan tahsis ediliyor. Program bitene kadar bu alan ayrılmaz (vektör statik olduğundan). Bu doğru mu?
Vektörü içeren sınıfın yıkıcısı içinde, vektöre koyduğum nesneyi siliyorum. Ancak, ekleme yapıldığında ayrılan bellek hala takılıyor. Bu alanı silmek için zaten var mı?
Vektöre eklediğiniz kodu ve başvuruda bulunulan nesneyi silen nesneyi gösteren bir kod gösterebilir misiniz? –
İlgilenirseniz, James ve ilproxyil sorunu çözmeme yardımcı oldu. İlgilenirsen haberim olsun. – Joe