What is the C++ equivalent of java.lang.Object x = new Foo()?
There is no equivalent because Java allocates objects from a managed heap, C++ allocates them in unmanaged memory. Objects in Java are tracked by the JVM for automatic garbage collection using mark-and-sweep, whereas C++ requires explicit release of all memory.
The runtime environments are fundamentally different, drawing analogies due to similar looking syntax is a trap.