std::string
との違いについての私の現在の理解は、std::wstring
単にバッファのタイプです。つまり、それぞれchar
vswchar_t
です。
私はまた、ほとんどの (すべてではないにしても) Linux ディストリビューションがchar
、ASCII と UTF の両方のあらゆる文字列に使用することを読みました。Windows はwchar_t
もはや使用する主要な OS です。
ただし、頭の中で理解しておきたい文字列型が他にもいくつかあります。u16string
とu32string
は、それぞれ 2 バイトと 4 バイトのバッファーを持つ文字列です。
だから、私の質問はこれです:
を備えたプラットフォームではsizeof(wchar_t) == 2
、 は とstd::wstring
機能的に同等であり、 および を備えたプラットフォームとstd::u16string
同様です。sizeof(wchar_t) == 4
std::u32string