c++0x 中 wchar_t 的命运如何?
考虑到新字符类型 char8_t
、char16_t
和 char32_t
,c++0x 中 wchar_t
的命运如何?
更重要的是,std::wstring
、std::wcout
等呢?
w* 系列类是否已弃用?
是否有针对新字符类型的新 std::ustring
和 std::Ustring
类?
What is the fate of wchar_t
in c++0x considering the new character types char8_t
, char16_t
, and char32_t
?
More importantly, what about std::wstring
, std::wcout
, etc?
Are the w* family classes deprecated?
Are there new std::ustring
and std::Ustring
classes for new character types?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
wchar_t 没有发生任何变化,它仍然是特定于实现的(并且与 C 兼容)。
新类型 char16_t 和 char32_t 在新标准中定义了语义。旧的 wchar_t 可能相当于其中之一,但在不同的实现上可能相当于不同的一个。或者在某些系统上都没有。
您将拥有用于新字符类型字符串的 typedef
u16string
和u32string
,但没有新的标准流。Nothing happens to wchar_t, it is still implementation specific (and compatible with C).
The new types char16_t and char32_t have defined semantics in the new standard. The old wchar_t might be equivalent to one of those, but likely to a different one on different implementations. Or none of them, on some systems.
You will have typedefs
u16string
andu32string
for strings of the new character types, but no new standard streams.