Eu estava lendo as respostas para esta questão e descobriram que há realmente um método chamado length()
para std::string
(eu sempre usado size()
). Existe algum motivo específico para ter esse método na std::string
aula? Eu li o MSDN e o CppRefernce, e eles parecem indicar que não há diferença entre size()
e length()
. Se é assim, não está tornando mais confuso para o usuário da classe?
265
size()
(no caso de usar classes não-string), mas na maioria das vezes usolength()
quando trabalho com strings simples.std::string=> std::bacsic_string<char> count of char
std::wstring => std::basic_string<wchar_t> count of wchar_t.
O Ruby é o mesmo, btw, oferecendo ambos
#length
e#size
como sinônimos para o número de itens em matrizes e hashes (o C ++ apenas faz isso para strings).Minimalistas e pessoas que acreditam que "deve haver um e, idealmente, apenas um modo óbvio de fazê-lo" (como recita o Zen of Python), eu acho, concordam principalmente com suas dúvidas, @Naveen, enquanto fãs de Perl " Há mais de uma maneira de fazê-lo "(ou a sintaxe do SQL com um bazilhão de" palavras de ruído "opcionais que fornecem várias formas sintáticas idênticas equivalentes para expressar um conceito) sem dúvida estará reclamando que Ruby, e especialmente C ++, simplesmente não vai longe suficiente para oferecer essa redundância sinonímica ;-).
fonte
Ao usar ferramentas práticas de codificação (LeetCode), parece que size () é mais rápido que length () (embora basicamente insignificante)
fonte
comprimento da string == quantos bits essa string possui, tamanho == tamanho desses bits, Em strings, ambos são iguais se o editor alocar tamanho de caractere for 1 byte
fonte