"The C++ Programming Language 4ed." [Stroustrup 2013] 具体类:"if the representation changes significan



B. Stroustrup写到具体的类:

表示可以是私有的...并且只能通过成员函数访问,但它存在。因此,如果表示形式发生任何重大更改,用户必须重新编译。这是使具体类型的行为与内置类型完全相同所付出的代价。

我对此有点困惑,因为我不明白具体类的表示在运行时如何变化。我可以问这个问题的另一种方法是:如何更改"微不足道"编译后的具体类的表示形式?

这不是在谈论运行时发生的事情,而是关于源代码的演变。

这意味着,如果您以显着的方式更改类的源代码,那么您将失去二进制兼容性,因此使用该类的现有代码也需要重新编译。

例如,如果通过将私有变量移动到 public 来更改类声明,则这些变量可以在不使用成员函数的情况下访问。在这种情况下,您需要重新编译代码。 引用的段落并不是试图解释"编译后"运行时场景,而是用于"编译后"类重新设计场景。

相关内容

最新更新