Estaba leyendo las respuestas para esta pregunta y encontré que en realidad hay un método llamado length()
de std::string
(Siempre he utilizado size()
). ¿Hay alguna razón específica para tener este método en std::string
clase? Leí MSDN y CppRefernce, y parecen indicar que no hay diferencia entre size()
y length()
. Si es así, ¿no es más confuso para el usuario de la clase?
265
size()
(en caso de que alguna vez use clases que no sean cadenas), pero la mayoría de las veces las usolength()
cuando trabajo con cadenas simples.std::string=> std::bacsic_string<char> count of char
std::wstring => std::basic_string<wchar_t> count of wchar_t.
Ruby es lo mismo, por cierto, ofreciendo ambos
#length
y#size
como sinónimos para la cantidad de elementos en matrices y hashes (C ++ solo lo hace para cadenas).Los minimalistas y las personas que creen que "debería haber uno, e idealmente solo una forma obvia de hacerlo" (como recita el Zen de Python), supongo, estarán de acuerdo con sus dudas, @Naveen, mientras que los fanáticos de Perl " Hay más de una forma de hacerlo "(o la sintaxis de SQL con un bazillion de" palabras de ruido "opcionales que dan innumerables formas sintácticas idénticamente equivalentes para expresar un concepto) sin duda se quejarán de que Ruby, y especialmente C ++, no van muy lejos suficiente para ofrecer tal redundancia sinónimo ;-).
fuente
Cuando se usan herramientas de práctica de codificación (LeetCode) parece que size () es más rápido que length () (aunque básicamente insignificante)
fuente
longitud de cadena == cuántos bits tiene esa cadena, tamaño == tamaño de esos bits, en cadenas ambas son iguales si el editor asigna un tamaño de carácter de 1 byte
fuente