Explicitly calling operator new like that calls the global "raw" operator new. Global operator new returns a raw memory block without calling the object's constructor or any user-defined overloads of new. So basically, global operator new is similar to malloc from C.
So:
// Allocates space for a T, and calls T's constructor, // or calls a user-defined overload of new. // T* v = new T; // Allocates space for N instances of T, and calls T's // constructor on each, or calls a user-defined overload // of new[] // T* v = new T[N]; // Simply returns a raw byte array of `sizeof(T)` bytes. // No constructor is invoked. // void* v = ::operator new(sizeof(T));