Bonjour tout le monde,
Je viens avec un probl�me que je cherche � r�soudre.
J'ai un programme de test tout simple avec un std::string dans lequel je mets environ 11k caract�res.
je check la m�moire � plusieurs endroits et je m'aper�ois que le nombre d'octet occup� ne diminue pas � la destruction de la string.
Probl�me g�nant qu'il n'y a pas avec les char*
voila mon petit code de test:
(memory affiche la memoire en bytes)
Voila ce que j'obtiens :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 std::string & clearing(std::string& str2) { std::string* str = new std::string; str2.swap(*str); str->clear(); delete str; return str2; } int _tmain(int argc, _TCHAR* argv[]) { std::cout << "memory : " << memory() << std::endl; std::string str2("PouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouhPouyouhpouyouh"); std::cout << "memory : " << memory() << std::endl; clearing(str2); std::cout << "memory : " << memory() << std::endl; _getch(); return 0; }
La m�moire augmente constamment. Pas moyen de la faire diminuer. Je pense qu'il s'agit d'un probl�me d'allocateur de la string, mais aucune id�e de leur fonctionnement...memory : 2433024
memory : 2609152
memory : 2621440
Est-ce bien �a?
Quel est la fa�on de voir la chose pour la stl concernant ce "probl�me"?
Y a t il moyen de lib�rer correctement?
Merci
Partager