I already know that the new[] operator first allocates memory and then calls the constructor for each element and that the delete[] operator first call
MyClass *p = static_cast (::operator new (sizeof(MyClass[N])));
Allocates memory for N objects and does not construct them. In that way the complexity will be the same as malloc(). It will be obviously faster, then allocating and constructing objects of complex class.