Как насчет адреса памяти объектов в C ++? - PullRequest
1 голос
/ 07 июля 2011

Я читаю некоторый текст C ++ и получил следующий код:

enter image description here

Из этого кода в функции main () автор использует sizeof () для полученияадрес памяти всего объекта и его функций-членов.результаты:

enter image description here

Исходя из этих результатов, автор составил следующую диаграмму:

enter image description here

Других объяснений нетАвтор.Что я не понимаю, так это то, откуда пришли цифры 992, 928, 880, 776?А что такое граница и почему она занимает 8 байтов?Большое спасибо.

1 Ответ

2 голосов
/ 07 июля 2011

Шестнадцатеричные адреса 12FF40, 12FF00, 12FED0, 12FE68 эквивалентны десятичным числам: 1244992, 1244928, 1244880 и 1244776. Младшие значащие цифры этих десятичных чисел - это адреса, приведенные на диаграмме.

Не уверен, но граница, вероятно, представляет отступ, который заставляет расположение объекта соответствовать границам слова.

...