This is going to sound so basic as to make one think I made zero effort to find the answer myself, but I swear I did search for about 20 minutes and found no answer.
the value of any uninitialized pointer is always garbage, it's some random memory address.
in your constructors, you can use initializer lists to initialize your pointer
simply
MyClass::MyClass() : myPointer(nullptr)
{
}
trying to reference an uninitialized pointer triggers undefined behavior. so ALWAYS initialize your pointer.