首页 >后端开发 >C++ >为什么 C 中的结构体 `std::is_class` 返回 True ?

为什么 C 中的结构体 `std::is_class` 返回 True ?

Barbara Streisand
Barbara Streisand原创
2024-10-27 02:50:30895浏览

Why Does `std::is_class` Return True for Structs in C  ?

C 中结构体和类之间的区别

在 C 中,许多人注意到类型特征 std::is_class 对于两者都返回 true类和结构。这就提出了一个问题:为什么两者在这一特征上没有明显的区别。人们通常认为 C 中的类和结构实际上是相同的,但事实真是如此吗?

与流行的看法相反,C 自 1985 年以来就不支持结构。使用 class 或 struct 关键字声明的每种类型本质上是一个类。 struct 关键字以及应用于此类声明的唯一可见性规则被保留只是为了与 C 向后兼容。

因此,C 不区分 std::is_class 中的类和结构的原因是因为它们之间没有本质上的区别。从语言的角度来看,使用这两个关键字定义的所有类型都被统一识别为类。

以上是为什么 C 中的结构体 `std::is_class` 返回 True ?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn