Quel est le résultat de la fonction STD :: wstring.length (), la longueur dans WCHAR_T (S) ou la longueur des symboles? Et pourquoi?
4 Réponses :
La méthode de taille renvoie le nombre actuel d'éléments de la chaîne. C'est la même chose que Wstring :: Longueur Les gens parlent généralement d'un mot, d'une phrase ou d'une longueur de paragraphe, pas de sa taille p>
Taille_type String :: Capacité () Const renvoie le nombre de caractères qu'une chaîne peut contenir sans réaffectation.
Malheureusement, le modèle std :: wstring :: Taille () code> retourne le nombre d'éléments largement caractères dans la chaîne. Ce n'est pas la même chose que le nombre de caractères (comme vous l'avez remarqué correctement). P>
std :: basique_string code> (et donc ses instanciations, telles que
std :: string code> et
std :: wstring code>) est codé-agnostique. En ce sens, il s'agit simplement d'un modèle pour une chaîne d'octets et non une chaîne de caractères. P>
longueur () code> et
taille () code> renvoie généralement le nombre de "caractères" (quelle que soit la largeur) dans la chaîne excluant em> le < Code> null code>, la longueur et la taille de la longueur est 2.
capacité () code> retourne la quantité de mémoire (lecture: combien de caractères, car il est multi-octet) est généralement disponible avant la chaîne réaffectera. p>
Tout d'abord std :: wstring est une instanciation de Bien que la plupart des travaux réels soient effectués par Char_Traits, et on peut écrire leur propre, cela se fait principalement pour permettre l'utilisation de la bibliothèque d'exécution C avec différentes tailles de caractères. P>
Le moyen d'analyser dans un pointeur d'élément * est jusqu'à ce que le caractère indiqué par les caractères caractères soit atteint. P>
Cependant, vous pouvez construire avec un pointeur et une longueur, auquel cas il lira le nombre de caractères qu'il vous dit, ce qui inclura tous les nottes nuls. Vous pouvez avoir des nulltes nuls intégrées dans une base_string, et si vous appelez la longueur () ou la taille () qui sont des alias pour la même chose, il vous indiquera combien de caractères il contient. P>
Il n'y a pas de magie dans Char_Traits pour décoder des caractères multi-éléments comme un, ni essayer de le mettre en œuvre de cette façon. P> std :: basic_string
Et pourquoi cette réponse a-t-elle été marquée? J'ai donné des informations utiles sur exactement ce qu'est un wstring et comment il est construit à partir d'un pointeur.
Je pense que c'est une excellente réponse, en particulier votre explication de l'utilisation du caractère Terminator de Char_Traits.