为什么 std::is_struct 不区分结构体和类
在 C 中,你可能会遇到情况区分类和结构很重要。然而, std::is_struct 类型特征不提供这种区别。理解为什么可以澄清对类和结构体的误解。
误解:结构体和类是不同的类型
“除了可见性之外,结构体和类之间没有区别”会造成混乱。实际上,C 自 1985 年以来就有了类,struct 关键字是为了与 C 向后兼容。
现实:使用 class 和 struct 是类
struct 关键字仅影响成员和基的默认可见性。 使用 class 和 struct 声明的 类型都是类。
结论
std::is_struct 不区分结构和类,因为在 C 中没有这样的区别。使用 class 和 struct 声明的类是相同的类型,并且具有相同的可见性规则。
以上是为什么 `std::is_struct` 不区分 C 中的结构和类?的详细内容。更多信息请关注PHP中文网其他相关文章!