когда я делаю этоC++ указатели кучи странные вещи?
int* pointer = new int; int* pointer2 = new int;
Я полагаю, эти два указателя находятся рядом друг с другом в памяти моего компьютера (они 4 байта друг от друга), так в теории два указатели должны иметь разницу из 4, но когда я показываю указатели он показывает это:
0x6000227e0 0x600022800
, которая является разностью 2 таким образом, что означает, что Int 2 байта? Неправильно ли моя логика?
Выравнивание в сторону, как это имеет значение '2' на самом деле? –
Они имеют разность 0x20 или, в десятичной, 32. поэтому есть много «комнаты» между ними. –