Ich war es, die Antworten für diese Lesung Frage und fand , dass es tatsächlich eine Methode aufgerufen ist length()
für std::string
(I immer verwendet size()
). Gibt es einen bestimmten Grund, diese Methode im std::string
Unterricht zu haben? Ich habe sowohl MSDN als auch CppRefernce gelesen und sie scheinen darauf hinzudeuten, dass es keinen Unterschied zwischen size()
und gibt length()
. Wenn dem so ist, macht es den Benutzer der Klasse nicht verwirrender?
263
size()
(falls ich jemals Nicht-String-Klassen verwende), aber die meiste Zeit verwende ich,length()
wenn ich mit einfachen Strings arbeite.std::string=> std::bacsic_string<char> count of char
std::wstring => std::basic_string<wchar_t> count of wchar_t.
Ruby ist übrigens genau das Gleiche und bietet sowohl
#length
als auch#size
als Synonyme für die Anzahl der Elemente in Arrays und Hashes (C ++ tut dies nur für Zeichenfolgen).Minimalisten und Leute, die glauben, "es sollte einen und im Idealfall nur einen offensichtlichen Weg geben, dies zu tun" (wie das Zen von Python sagt), werden, glaube ich, Ihren Zweifeln größtenteils zustimmen, @Naveen, während Fans von Perl " Es gibt mehr als einen Weg, dies zu tun "(oder die SQL-Syntax mit einer Unmenge optionaler" Rauschwörter ", die unzählige identische äquivalente syntaktische Formen geben, um ein Konzept auszudrücken), wird sich zweifellos darüber beklagen, dass Ruby und insbesondere C ++ einfach nicht weit gehen genug, um eine solche synonymische Redundanz anzubieten ;-).
quelle
Bei der Verwendung von Codierungsübungswerkzeugen (LeetCode) scheint size () schneller als length () zu sein (obwohl dies im Grunde genommen vernachlässigbar ist).
quelle
Länge der Zeichenfolge == wie viele Bits diese Zeichenfolge hat, Größe == Größe dieser Bits. In Zeichenfolgen sind beide gleich, wenn der Editor die Zeichengröße 1 Byte zuweist
quelle