为什么没有 std::is_struct 类型特征?
在 C 中,通常使用 std::is_class 来确定是否类型是一个类。但是,您可能想知道为什么没有 std::is_struct 来区分结构体和类。
误解:
人们通常认为结构体和类是 C 中的不同实体。然而,这是一个误解。
真相:
从 1985 年开始,C 引入了统一的类模型,消除了结构体和类之间的区别。 struct 关键字只是一个语法糖,定义具有默认成员可见性的类。
为什么没有类型特征:
因为结构和类在本质上是相同的类型C ,不需要单独的 std::is_struct 类型特征。 std::is_class 正确地将结构体和类识别为类。
结论:
std::is_struct 的缺失反映了 C 认为结构体和类为类的事实一且相同。类型特征 std::is_class 充分捕获了类类型的概念,无需单独检查结构。
以上是为什么 C 中没有 `std::is_struct` 类型特征?的详细内容。更多信息请关注PHP中文网其他相关文章!