Q:

Get type of object being allocated in operator new

Is there a way to get type of object being allocated in operator new?
What I mean is:
void* BaseClass::operator new(size_t size)
{
    void* result = ::operator new(size);

    //Get type of object that's being allocated

    return result;
}

A:

There is no mechanism to get this data. operator new just allocates raw memory given a size, and only the new operator call knows the type to construct the object into the allocated memory.

