回答:
あたりとしてのドキュメント、これらは単なる同義語です。 size()
(のような他のSTLコンテナと一致そこにあるvector
、map
、など)とlength()
文字列のほとんどの人々の直感的な概念と一致しています。人々は通常、単語、文、段落の長さではなく、長さについて話します。そのため、length()
読みやすくするためにそこにあります。
std::string=> std::bacsic_string<char> count of char
std::wstring => std::basic_string<wchar_t> count of wchar_t.
Rubyはまったく同じですが、両方#length
を 提供し#size
、配列とハッシュの項目数の同義語として提供します(C ++は文字列に対してのみそれを行います)。
(PythonのZenが語るように)ミニマリストと「それを行うには1つ、理想的には1つだけ、明白な方法があるべきだ」と信じている人々は、Perlのファンである一方で、あなたの疑問にほとんど同意します、@ Naveenそれを行うには複数の方法があります」(または、1つの概念を表現するために多数のまったく同等の構文形式を与える膨大なオプションの「ノイズワード」を使用したSQLの構文)は、Ruby、特にC ++に文句を言わないでしょう。そのような同義の冗長性を提供するのに十分です;-)。
文字列の長さ==文字列が持つビット数、size ==それらのビットのサイズ、文字列では、エディターが文字のサイズを割り当てる場合、両方とも同じです1バイト
size()
(文字列以外のクラスを使用する場合に備えて)使用したいのですが、ほとんどのlength()
場合、プレーンな文字列を扱うときに使用します。