Разный размер выделяемой памяти наблюдается при создании объекта на классе 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 байта больше?