我目前的理解是,std::string
和std::wstring
之间的区别仅在于缓冲区的类型,即char
和wchar_t
。
我还读到过这样的说法:大多数(如果不是全部)Linux发行版都使用char
作为所有字符串的类型,包括ASCII和UTF,而Windows是主要使用wchar_t
的操作系统。
然而,还有一些字符串类型我希望能够搞清楚:u16string
和u32string
分别是具有2字节和4字节缓冲区的字符串。
所以,我的问题是:
在sizeof(wchar_t) == 2
的平台上,std::wstring
是否与std::u16string
功能上相同,在sizeof(wchar_t) == 4
的平台上,是否与std::u32string
相同?
string
和wstring
之间的区别。我问的是,根据wchar_t
的大小,wstring
是否与u16string
或u32string
相同。 - Qix - MONICA WAS MISTREATED