c++ - 对象模型的实现布局

标签 c++ layout object

标准是否规范了对象的实现细节?我听说它在某些编译器上有所不同。即使是这样,是否值得进入 lippman 的“inside the c++ object model”以及如何?

最佳答案

书不能谈,因为我没有亲眼看过,不过是一般的推荐,所以无伤大雅。

作为标准,它不要求特定的对象布局,而只是对程序的行为施加限制,但即使了解一种实现也将帮助您了解幕后发生的事情。对于大多数事情,不同的编译器采用相似的方法。

举个例子,动态函数派发机制没有标准定义,只有行为,但是所有的编译器都是基于虚函数表来实现的。表的布局(即方法在那里的组织方式,表之前/之后可能有哪些额外数据)可能不同,但动态调度的问题是相同的,解决方案非常相似,理解一个通常会帮助您理解整体问题。

关于c++ - 对象模型的实现布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7842053/

相关文章:

c++ - 为 char 分配空间

c++ - RSA 程序只能加密和解密特定范围内的数字

html - 给所有东西相对位置有什么影响?

javascript - 将 javascript 对象数组转换为 JSON

c++ - "Undefined reference"声明的 C++ 静态成员变量

c++ - 使用 Objective-C (Cocoa) 事件 (performSelector) 传递 C++ 对象

c++ - 从 std::function 的返回类型推导出模板参数

c++ - move 构造函数和右值引用

css - "should"的 2 个 div 高度相等,但其中一个似乎比另一个大一个像素

react-native - React Native FlatList - 如何在下方为按钮留出空间?