std::string
我目前对和之间区别的理解std::wstring
仅仅是缓冲区的类型;即,char
vs 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
的平台