J'ai lu les réponses à cette question et a trouvé qu'il ya effectivement une méthode appelée length()
pour std::string
(j'ai toujours utilisé size()
). Y a-t-il une raison spécifique pour avoir cette méthode en std::string
classe? J'ai lu à la fois MSDN et CppRefernce, et ils semblent indiquer qu'il n'y a aucune différence entre size()
et length()
. Si tel est le cas, n'est-ce pas source de confusion pour l'utilisateur de la classe?
265
size()
(au cas où j'utiliserais des classes non-chaîne), mais la plupart du temps j'utiliselength()
lorsque je travaille avec des chaînes simples.std::string=> std::bacsic_string<char> count of char
std::wstring => std::basic_string<wchar_t> count of wchar_t.
Ruby est tout de même, btw, offrant les deux
#length
et#size
comme synonymes pour le nombre d'éléments dans les tableaux et les hachages (C ++ ne le fait que pour les chaînes).Les minimalistes et les gens qui croient "qu'il devrait y en avoir un, et idéalement un seul moyen évident de le faire" (comme le récite le Zen de Python), je suppose, seront principalement d'accord avec vos doutes, @Naveen, tandis que les fans de Perl's " Il y a plus d'une façon de le faire "(ou la syntaxe SQL avec un bazillion de" mots de bruit "optionnels donnant énormément de formes syntaxiques identiques pour exprimer un concept) se plaindra sans doute que Ruby, et en particulier C ++, ne va pas loin assez pour offrir une telle redondance synonymique ;-).
la source
Lors de l'utilisation d'outils de codage (LeetCode), il semble que size () soit plus rapide que length () (bien que fondamentalement négligeable)
la source
longueur de la chaîne == combien de bits cette chaîne a, taille == taille de ces bits, dans les chaînes les deux sont les mêmes si l'éditeur alloue la taille du caractère est de 1 octet
la source