C ++中对象的内存地址怎么样?

时间:2011-07-07 02:21:22

标签: memory-address

我正在阅读一些C ++文本并获得以下代码:

enter image description here

从该代码开始,在main()函数中,作者使用sizeof()来获取所有对象及其成员函数的内存地址。结果:

enter image description here

根据该结果,作者制作了如下图表:

enter image description here

作者没有其他解释。 我不明白的是,992,928,880,776的数字来自哪里?什么是边界以及它占用8个字节的原因? 非常感谢。

1 个答案:

答案 0 :(得分:2)

十六进制地址12FF40,12FF00,12FED0,12FE68等效于十进制数:1244992,1244928,1244880和1244776.这些十进制数的最低有效位是图中地址的来源。

不确定,但边界可能表示填充,导致对象布局适合单词边界。