C ++: meilleur accumulateur de texte
-
18-09-2019 - |
Question
Texte s'accumule peu à peu avant d'être envoyé au client.
Maintenant, nous utilisons propre classe qui alloue de la mémoire pour chaque morceau en tant que char massif. (De toute façon, fonctionne comme char[][]
+ std::list<char*>
).
Ensuite, nous construisons la chaîne entière, le convertir en std :: piquer puis créer boost::asio::streambuf
utiliser. C'est assez lent, je suppose. Corrigez-moi si je me trompe.
Je sais que, dans bien des cas simples de type FILE
de stdio.h
est utilisé. Comment ça fonctionne? Alloue de la mémoire à chaque écriture en elle. Alors, est-il plus rapide et est-il possible de lire dans boost::asio::streambuf
de FILE
?
Ajouter : Hm. J'ai oublié une grande chose :). La compilation des dll et l'application principale est faite sous peu compilateurs, donc il ne devrait pas avoir des choses stl à l'intérieur ... Parce qu'il provoque généralement beaucoup de problèmes, lors de l'exécution dll.
La solution
Je ne sais pas comment il est efficace, mais je l'habitude d'utiliser un ostringstream pour ce genre de chose
Autres conseils
Consultez http://www.sgi.com/tech/stl/Rope .html