Declares a pointer with the name pscobject, which will point to a _pscmain object. It is uninitialized.
_pscmain *pscobject = nullptr;
Is somewhat safer as you can do:
1 2 3 4 5 6
if (pscobject)
{
// Pointer points to SOMETHING
}
elsethrow"Dayum, uninitialized ptr bro!";
pscobject = new _pscmain;
Creates an actual objects and puts the address of that object inside the pscobject pointer. [Think of the pointer as a WORD sized integer that points to a memory cell.].
The safest method is to initialize at declaration.
_pscmain *pscobject = new _pscmain;
You now have a valid object. Remember to delete the pointer when you're done. Preferably, use std::unique_ptr or std::shared_ptr.