std::string
とstd::wstring
の違いについて私の現在の理解は、単純にバッファのタイプです。すなわち、それぞれchar
とwchar_t
との間である。std :: string、wstring、u16/32string解説
また、ほとんどすべてのLinuxディストリビューションでwchar_t
を使用するプライマリOSのASCIIとUTFの両方の文字列にはchar
を使用しています。
しかし、頭の中にまっすぐに入る文字列タイプがいくつかあります:u16string
とu32string
は、それぞれ2バイトと4バイトのバッファを持つ文字列です。
だから、私の質問はこれです:sizeof(wchar_t) == 2
とプラットフォームで
、std::wstring
機能std::u16string
に相当するだけでなく、sizeof(wchar_t) == 4
とstd::u32string
とプラットフォームのですか?
文字列/ wstringに関する別の同様の質問があります[ここで –
@FloreaMarianそうではありません - その質問は 'string 'と' wstring'です。 'wchar_t'のサイズによって、' wstring'が 'u16string'や' u32string'と同じかどうかを確認しています。 – Qix
http://utf8everywhere.org参照 –