С++ 03 определяет два типа символов: char
и wchar_t
. (позволяет игнорировать безумие signed char
и unsigned char
).
Эти два символа затем применяются к std::basic_string
, std::basic_ostream
и т.д. как std::string/std::wstring
и std::ostream/std::wostream
.
В потоках стандартная библиотека также определяет глобальные переменные std::cout
и std::wcout
.
Новый стандарт С++ 0x определяет еще два типа символов char16_t
и char32_t
. Однако единственными новыми typedef являются std::u16string
и std::u32string
.
Почему стандартная поставка a std::u16ostream
? Или как насчет std::u32cout
?