Какова судьба wchar_t в C++0x?
Какова судьба wchar_t
в C++0x с учетом новых типов символов char8_t
, char16_t
, а также char32_t
?
Что еще более важно, как насчет std::wstring
, std::wcout
, так далее?
Семейные классы w* устарели?
Есть ли новые std::ustring
а также std::Ustring
классы для новых типов символов?
1 ответ
Решение
С wchar_t ничего не происходит, это все еще зависит от реализации (и совместимо с C).
Новые типы char16_t и char32_t определили семантику в новом стандарте. Старый wchar_t может быть эквивалентен одному из них, но, скорее всего, другому в разных реализациях. Или ни один из них, в некоторых системах.
Вы будете иметь typedefs u16string
а также u32string
для строк новых типов символов, но нет новых стандартных потоков.