Lig*_*ica 26
当处理非char
实例化时std::basic_string<>
,肯定,长度可能不等于字节数.这一点特别明显std::wstring
:
std::wstring ws = L"hi";
cout << ws.length(); // <-- 2, not 4
Run Code Online (Sandbox Code Playgroud)
但是std::string
关于char
人物; 就std::string
你所关注的问题而言,没有一个多字节字符这样的东西,无论你是否在高级别中填充了一个字符.因此,std::string.length()
始终是字符串表示的字节数.请注意,如果您将多字节"字符"填入a std::string
,那么您对"字符"的定义突然变得与容器和标准的定义不一致.