My *p[3];

p[0] = new My_derived1();
p[1] = new My_derived2();
p[2] = new My_derived3();

위 코드가 있음

이때
delete[] p; 하는거랑

for i < 3
    delete p[i];

하는거랑 다름?