为什么类型关键字以"_t"后缀结尾?

Why are type keywords ended with "_t" suffix?

本文关键字:后缀 结尾 关键字 为什么 类型      更新时间:2023-10-16

我知道size_t自其别名/typedef以来_t后缀。但是我不明白出于什么原因char16_tchar32_twchar_t包含_t后缀。

对于wchar_t

在C++中,wchar_t是一种独特的基本类型(因此它没有在<cwchar>或任何其他标头中定义)。

在 C 中,这是一个整型的类型定义。

对于char16_tchar32_t,在<cuchar>/uchar.c中定义:

在 C 中,这个标头定义了两个宏:char16_tchar32_t,它们映射到适当大小的无符号整数类型(分别与uint_least16_tuint_least32_t相同)。

在C++中,char16_tchar32_t是基本类型(因此此标头不会在 C++ 中定义此类宏)。

因此,在这两种情况下,即使它们是C++中的基本类型,它们也会保留与 C 兼容的_t,在 C 中它们是 typedef 或宏。