Un troll Qt/Gtk/STL, ca fait bien 10 ans que j'en ai pas vu un beau.
Aller, je me lance: std::string a très peu de chose à voir avec une QString. Ah si, le seul point commun, c'est que c'est un conteneur.
Mais voyons ce qu'on fait couramment avec une chaîne de caractère de nos jours:
- la stocker en latin1() pour l'afficher dans de vieux outils qui utilise encore le latin1: 1 point pour QString, 0 pour std::string
- la convertir en UTF8() pour un format d'échange standard: 1 point pour QString, 0 pour std::string
- connaitre son encodage pour pas se rater dans les conversions: 1 ponit pour QString, 0 pour std::string
- la couper en petits bouts: 1 point pour QString, 0 pour std::string
- vérifier si elle contient une chaine particulière, si elle commence par une chaine particulière, si elle se termine par une chaine particulière: 1 point pour QString, 0 pour std::string
- y stocker des floats, doubles, entiers, autres chaines de caractère: 1 point pour QString, 0 pour std::string
- la parcourir avec des itérateurs standard du C++: 1 point pour QString, 1 point pour std::string .
Conclusion: la std::string n'a a peu près rien à voir avec une QString. Les trucs les plus pénibles à faire avec une chaine de caractères de nos jours (conversion d'encodage, affichage de valeur facon printf), vérification de contenu, découpage, … se font en un appel sur une Qtring et en 50 lignes de code dans le meilleur des cas en std::string.
[^] # Re: Trollons
Posté par Philippe F (site web personnel) . En réponse au journal OpenShot abandonne Gtk+.... Évalué à 10.
Un troll Qt/Gtk/STL, ca fait bien 10 ans que j'en ai pas vu un beau.
Aller, je me lance: std::string a très peu de chose à voir avec une QString. Ah si, le seul point commun, c'est que c'est un conteneur.
Mais voyons ce qu'on fait couramment avec une chaîne de caractère de nos jours:
- la stocker en latin1() pour l'afficher dans de vieux outils qui utilise encore le latin1: 1 point pour QString, 0 pour std::string
- la convertir en UTF8() pour un format d'échange standard: 1 point pour QString, 0 pour std::string
- connaitre son encodage pour pas se rater dans les conversions: 1 ponit pour QString, 0 pour std::string
- la couper en petits bouts: 1 point pour QString, 0 pour std::string
- vérifier si elle contient une chaine particulière, si elle commence par une chaine particulière, si elle se termine par une chaine particulière: 1 point pour QString, 0 pour std::string
- y stocker des floats, doubles, entiers, autres chaines de caractère: 1 point pour QString, 0 pour std::string
- la parcourir avec des itérateurs standard du C++: 1 point pour QString, 1 point pour std::string .
Conclusion: la std::string n'a a peu près rien à voir avec une QString. Les trucs les plus pénibles à faire avec une chaine de caractères de nos jours (conversion d'encodage, affichage de valeur facon printf), vérification de contenu, découpage, … se font en un appel sur une Qtring et en 50 lignes de code dans le meilleur des cas en std::string.