2011-07-07 62 views
1

我讀了一些C++的文本,得到了下面的代碼:C++中對象的內存地址是什麼?

enter image description here

從這個代碼,在main()函數中,筆者使用sizeof()來獲取所有對象和它的內存地址成員函數。結果:

enter image description here

從生成,筆者提出如下圖:

enter image description here

有從筆者沒有其他的解釋。 我不明白的是數字992,928,880,776是從哪裏來的?什麼是邊界,爲什麼它佔用8個字節? 非常感謝。

回答

2

十六進制地址12FF40,12FF00,12FED0,12FE68相當於十進制數:1244992,1244928,1244880和1244776.這些十進制數的最低有效位數是圖中地址的來源。

不確定,但邊界可能表示填充,使對象佈局適合詞邊界。