Bonjour à tous,

je suis débutant en C++ et j'ai un problème de performance avec l'utilisation d'un stringstream.

Pour corriger ce problème, je dois augmenter la taille initiale du stringbuf qui est utilisé par le stringstream pour éviter des milliers d'allocations.....

Apparament, je n'arrive pas à augmenter cette taille malgré l'utilisation de la méthode pubsetbuf:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
stringstream ss;
ss.precision(20);
char mybuffer [100000];
ss.rdbuf()->pubsetbuf(mybuffer,100000);
 
for(int i=0 ; i<40000 ; i++) {     // boucle bidon
     ss << (2*((double)i)+1)/11;
}
la ligne ss.rdbuf()->pubsetbuf(mybuffer,100000)
ne change pas la temps d'exécution !

Help !