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