"The C++ Programming Language 4ed." [Stroustrup 2013] 具体类:"if the representation changes significan
"The C++ Programming Language 4ed." [Stroustrup 2013] concrete classes: "if the representation changes significantly...user must recompile"?
本文关键字:if the significan changes representation Programming C++ The Language 4ed Stroustrup 更新时间:2023-10-16
B. Stroustrup写到具体的类:
表示可以是私有的...并且只能通过成员函数访问,但它存在。因此,如果表示形式发生任何重大更改,用户必须重新编译。这是使具体类型的行为与内置类型完全相同所付出的代价。
我对此有点困惑,因为我不明白具体类的表示在运行时如何变化。我可以问这个问题的另一种方法是:如何更改"微不足道"编译后的具体类的表示形式?
这不是在谈论运行时发生的事情,而是关于源代码的演变。
这意味着,如果您以显着的方式更改类的源代码,那么您将失去二进制兼容性,因此使用该类的现有代码也需要重新编译。
例如,如果通过将私有变量移动到 public 来更改类声明,则这些变量可以在不使用成员函数的情况下访问。在这种情况下,您需要重新编译代码。 引用的段落并不是试图解释"编译后"运行时场景,而是用于"编译后"类重新设计场景。
相关文章:
- 我的简单if-else语句是如何无法访问的代码
- 如何将enable-if与模板参数和参数包一起使用
- 无论条件是否为true,if总是在c++中执行
- Arduino:for/while/if在void setup()或void loop()之前?——错误:之前需要不合格
- Insert函数不适用于2 if语句C++
- If语句未被求值C++
- C++嵌套if语句,基本货币交换
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 是否可以使用if constexpr删除控制流语句
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 如何删除peer if else分支中的冗长句子
- 我似乎对if/else的基本语句有问题:/
- if数组上的随机数
- 将按位if条件转换为普通if条件
- If语句在c++中被忽略
- 比较if语句中的数组值和int值
- 使用if-else将数字转换为单词
- "The C++ Programming Language 4ed." [Stroustrup 2013] 具体类:"if the representation changes significan
- C++入门第5版练习1.19 "The If Statement"的误解 ?
- [conv]/6 中"The expression e is used as a glvalue if and only if the initialization uses it as a glva