Выделение памяти при создании объекта C++

Разный размер выделяемой памяти наблюдается при создании объекта на классе C ниже,

class C {
 int i;
 int j;
};

void f() {
 C *c = new C;
 C *c2 = new C[2];
 C (*c3)[2] = new C[2][2];
}

c выделяется 8 байт;

c2 выделяется 8*2+4 байт;

c3 выделяется 8*2*2+4 байт.

Почему c2 и c3 получают на 4 байта больше?

5
задан sof 31 January 2012 в 16:44
поделиться