【问题标题】:Difference between struct and class in older c++ versions旧 C++ 版本中 struct 和 class 之间的区别
【发布时间】:2020-07-08 14:14:18
【问题描述】:

是否总是在 C++ 中 classstruct 仅在默认访问说明符上有所不同?或者在某些早期版本中,C++ struct 更像是 C struct

【问题讨论】:

标签: c++ class oop c++98


【解决方案1】:

几乎总是这样。

早在标准化之前就一直是这样,practically since the first draft revisions in the 80s

令人沮丧的是,Stroustrup's "A History of C++" 没有讨论这一点,但使用 struct 关键字定义的称为“类”的类型早在 "The C++ Programming Language - Reference Manual" 就可以找到,这是继“C with Classes”之后的第一个规范" 研究阶段,因此是第一个标准前 C++ 修订版:

包含一系列不同类型的对象,一组用于操作这些对象的函数,以及一组对访问这些对象和函数的限制;

结构是没有访问限制的类

这被称为“版本 E”,came in November 1984

Release 2.0 在 1989 年,这已经放宽到我们今天的规则:

结构是没有默认访问限制的类

作为时间参考,我们现在称之为“C++”的第一个版本是在 1998 年标准化的。

【讨论】:

    【解决方案2】:

    按照标准,是的,实际上我也听说编译器尝试(或仍在尝试?)通过优先考虑不同的优化路径来在内部以不同的方式处理它们。

    猜你喜欢
    • 2011-11-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 2016-02-09
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    相关资源
    最近更新 更多