假设x
是基本源字符集的任何成员。'x'
和L'x'
分别是基本执行字符集和基本执行宽字符集的成员。
'x'
和L'x'
的整数值必须相等,是真的吗?看起来标准并不要求这样做,这是有道理的。可以想象,可以使用EBCDIC作为窄字符集,使用Unicode作为宽字符集。
在某些(或任何)语言环境中,std::use_facet<std::ctype<wchar_t>>(std::locale()).widen('x')
真的应该等于L'x'
吗?在这种情况下,要求这样做是有意义的,但我在标准中也找不到这样的要求。同样,std::use_facet<std::ctype<wchar_t>>(std::locale()).narrow(L'x')
是否与'x'
相同
如果上述情况不是真的,那么以下哪一项
std::wcout << L'x';
std::wcout << ct.widen('x');
应该输出x
吗?ct
是一个适当的区域设置方面。
https://stackoverflow.com/questions/31959761
复制相似问题