对于wchar_t:
在 C++ 中,
wchar_t是一个独特的基本类型(因此它既没有在<cwchar>任何其他头文件中定义)。在 C 中,这是一个整数类型的 typedef。
对于char16_t和char32_t,定义在<cuchar>/ 中uchar.c:
在 C 中,该头文件定义了两个宏:
char16_tandchar32_t,它们映射到适当大小的无符号整数类型(分别与uint_least16_t和相同uint_least32_t)。在 C++ 中,
char16_t并且char32_t是基本类型(因此这个头文件没有在 C++ 中定义这样的宏)。
因此,在这两种情况下,即使它们是 C++ 中的基本类型,_t为了与 C 兼容,它们仍然是 typedef 或宏。