Мне интересно увидеть структуру размещения объектов, и я пытаюсь использовать разборку в Visual Studio.Вот мой код:
class myclass
{
public int m_a;
}
myclass myc = new myclass();
myc.m_a = 23;
//I am setting a breakpoint after this line
Я открыл окно Memory1 и набрал myc в поле Адрес.Я получаю следующие данные в окне вывода (используется Windows XP PC 32bit с компилятором Intel):
0x0148B7BC 1c 93 a7 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Кажется, что есть дополнительный указатель 00a7931c, который добавляется перед данными объекта, что увеличиваетразмер объекта на 4 байта.Я путаюсь с тем, что документация говорит, что размер объекта увеличивается на 8 байт из-за заголовка на объект.Может кто-нибудь указать мне, где находятся остальные 4 байта?