Désolé de commencer une autre de ces questions sans réponse sur SO, mais je suis juste curieux de connaître les avantages et les inconvénients de tous les différents types de chaînes en C++. Ma question particulière est entre CStrings de MFC et std :: string (puisque je fais le logiciel de Windows seulement), mais cela s'étendrait à l'un des formats de chaîne en C++. Qu'est-ce que vous pensez du meilleur type de chaîne à utiliser en C++ et pourquoi? MISE À JOUR: J'ai trouvé une question en double. Merci à ceux qui ont déjà répondu. S'il vous plaît diriger toutes les nouvelles réponses à cette autre question: How do you handle strings in C++?Avantages et inconvénients des différents types de chaînes en C++
Répondre
std :: string
- Cela fait partie du TSL
- Il est portable.
- Utilisé correctement, il peut être aussi efficace que les chaînes c
- Il est plus sûr que les chaînes c.
La plupart des problèmes avec les types de chaînes C++ proviennent de l'un ou l'autre type de chaîne nécessitant une surcharge de mémoire trop importante. Cela dit, cela peut aussi devenir onéreux si vous devez convertir d'un type de chaîne à un autre. Si vous créez une application volumineuse, je suggère d'avoir une politique sur les chaînes à utiliser.
Quand à Rome, faites comme les Romains. Si vous utilisez MFC, utilisez CString car les classes sont toutes optimisées pour cela. Tout le reste, utilisez std :: string, car c'est la norme et vous trouverez l'expérience utile dans d'autres contextes.
std :: string peut être manipulé par des algorithmes de chaîne boost en plus de ceux de STL. Pour moi, les bibliothèques de support de std :: string battent bien MFC.
Pour résumer ...
std :: string Plus:
- Portable
- STL & algorithme Boost soutien
- plus sûr que CStrings
std :: string Moins:
- Conversion de CString MFC pourrait être plus lente
CString Avantages:
- fonctions MFC CString optimisés pour
CString Cons:
- Non Portable
- Boost ou non l'algorithme STL soutien
- 1. Quels sont les avantages et les inconvénients des différents types de champs date/heure dans MySQL?
- 2. Avantages et inconvénients de DotNetNuke?
- 3. Avantages et inconvénients de DFC et DFS?
- 4. Utilisation de WebServiceHostFactory Avantages et inconvénients
- 5. Avantages et inconvénients des événements de base de données
- 6. Définir différents types de nombres en C#
- 7. php .tpl système de gestion de contenu - avantages et inconvénients
- 8. PHP sur IIS7 et Windows Server 2008 - Avantages et inconvénients
- 9. DSL vs appels de méthode: avantages et inconvénients
- 10. Assembly.GetType() et typeof() retournent des types différents?
- 11. Avantages et inconvénients du langage de balisage pour l'interface utilisateur
- 12. Quels sont les avantages et les inconvénients d'avoir plusieurs héritages?
- 13. Avantages et inconvénients du moteur de stockage d'archives MySQL?
- 14. Où puis-je connaître les avantages et les inconvénients des différents systèmes de contrôle de source disponibles?
- 15. Quels sont les avantages et les inconvénients de l'utilisation d'OpenID?
- 16. Quels sont les avantages/inconvénients de py2exe
- 17. Avantages et inconvénients de ASNA Visual RPG (AVR)
- 18. comparaison des types différents en python
- 19. Midlet v/s Téléphone Navigateur app avantages et inconvénients?
- 20. HttpHandlers personnalisés et différents types de gestionnaires
- 21. Avantages et inconvénients pour une syntaxe différente d'expression lambda en vue appel à l'aide
- 22. Quels sont les avantages/inconvénients de la liste générique (de type) et des collections
- 23. Avantages et inconvénients de l'enregistrement des contrôles utilisateur dans web.config vs page asp
- 24. Quels sont les avantages et les inconvénients d'utiliser des téléphones iPhone/Android pour écrire des scripts?
- 25. avantages/inconvénients sur l'utilisation de grille framework css
- 26. Quels sont les avantages/inconvénients de l'utilisation d'un CTE?
- 27. Comment utiliser les différents types de nombres dans l'objectif C
- 28. Quels sont les types de chaînes les plus utilisés en C++ et comment les convertir?
- 29. Méthode Objective-c de sérialisation de tableaux contenant différents types
- 30. Web Service Security: Quels sont les avantages et les inconvénients de WSE3.0 et WCF?
double possible [Comment gérez-vous les chaînes en C++?] (Http://stackoverflow.com/questions/133364/how-do-you- poignée-cordes-en-c) –