std :: string, wstring, wyjaśnienie u16 / 32string

Moje obecne zrozumienie różnicy międzystd::string istd::wstring jest po prostu typem bufora; mianowicie,char vswchar_t, odpowiednio.

Czytałem również, że większość (jeśli nie wszystkie) dystrybucji Linuksa jest używanachar dla wszystkich łańcuchów, zarówno ASCII, jak i UTF, gdzie Windows jest podstawowym systemem operacyjnym, który używawchar_t już.

Istnieje jednak kilka innych typów ciągów, które chcę uzyskać bezpośrednio w mojej głowie:u16string iu32string, które są łańcuchami z buforami 2-bajtowymi i 4-bajtowymi.

Więc moje pytanie brzmi:

Na platformach zsizeof(wchar_t) == 2, jeststd::wstring funkcjonalnie równoważnystd::u16string, a także platformy zsizeof(wchar_t) == 4 istd::u32string?

questionAnswers(1)

yourAnswerToTheQuestion