我很难理解C ++标准中的宏__STDC_ISO_10646__的含义:
__STDC_ISO_10646__
一个形如yyyymmL的整数常量(例如199712L)。如果定义了此符号,则在存储于wchar_t类型的对象中时,Unicode所需集合中的每个字符都具有与该字符的短标识符相同的值。 Unicode所需集合包括ISO / IEC 10646定义的所有字符以及指定年份和月份的所有修正案和技术勘误。
据我理解,这意味着在您的系统上,wchar_t将表示一个Unicode代码点。这是正确的吗?如果是这种情况,则utf-8和utf-16编码将不符合规范,而utf-32会符合规范。还有哪些字符编码是符合规范的?
__STDC_ISO_10646__
一个形如yyyymmL的整数常量(例如199712L)。如果定义了此符号,则在存储于wchar_t类型的对象中时,Unicode所需集合中的每个字符都具有与该字符的短标识符相同的值。 Unicode所需集合包括ISO / IEC 10646定义的所有字符以及指定年份和月份的所有修正案和技术勘误。
据我理解,这意味着在您的系统上,wchar_t将表示一个Unicode代码点。这是正确的吗?如果是这种情况,则utf-8和utf-16编码将不符合规范,而utf-32会符合规范。还有哪些字符编码是符合规范的?