我正在阅读一些C ++文本并获得以下代码:
从该代码开始,在main()函数中,作者使用sizeof()来获取所有对象及其成员函数的内存地址。结果:
根据该结果,作者制作了如下图表:
作者没有其他解释。 我不明白的是,992,928,880,776的数字来自哪里?什么是边界以及它占用8个字节的原因? 非常感谢。
答案 0 :(得分:2)
十六进制地址12FF40,12FF00,12FED0,12FE68等效于十进制数:1244992,1244928,1244880和1244776.这些十进制数的最低有效位是图中地址的来源。
不确定,但边界可能表示填充,导致对象布局适合单词边界。