Singleton et Fuite mémoire avec objet STL
Bonjour à tous,
J'ai un petit souci dans mon application j'ai recours à l'utilisation de singleton et d'objet de la STL et tout ça sous VISUAL c++ 2010 Express donc vous l'aurez compris sous environnement windows.
Suit à plusieurs fuite de mémoire dans mon application, j'ai pu tester le bout de code test suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#include <vector>
// Windows memory leak checking
#ifdef _DEGUB
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
#endif
//classe de singleton test
class A
{
private:
A(){};
~A(){};
std::vector<int> tab;
public:
static A &Instance()
{
static A objetA;
return objetA;
}
};
void main()
{
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
A::Instance();
_CrtDumpMemoryLeaks();
} |
Après exécution de ce bout de code tout simple il me marque qu'il y a des fuites de mémoire :
Citation:
Detected memory leaks!
Dumping objects ->
{131} normal block at 0x003460A0, 8 bytes long.
Data: <HTB > 48 54 42 00 00 00 00 00
Object dump complete.
Le programme '[4060] test.exe: Natif' s'est arrêté avec le code 0 (0x0).
J'ai repris le même code avec un simple tableau à la place d'un std::vector et je n'ai plus d'après de débugger de fuite de mémoire.
Voilà donc c'est bien dommage si je ne peux pas utiliser les structures de la stl avec mes singletons. :cry::cry:
Quelqu'un pourra peut-être me dire où je fais une erreur dans l'emploie de mon singleton ? ou si c'est un faux positif de fuite de mémoire ? ou tout autre explication.:mrgreen::mrgreen: