In the code, we want to be able to differentiate between a member variable, a pointer owned by the current class, and a pointer not owned by the current class. We'll use the following syntax:
No prefix: local variable
Lower-case m: private class member variable
Lower-case p: pointer owned by the class; will need to be cleaned up on class destruction (best way to handle this is to stick all such variables in a unique_ptr)
Lower-case fp: foreign pointer; owned by some other class. Generally it is a bad idea (TM) to try to delete or otherwise manipulate foreign pointers.
Lower-case mp: a container of pointers owned by the class (i.e., a Vector<Object*>, where the class needs to handle cleanup of elements in the vector)
In the code, we want to be able to differentiate between a member variable, a pointer owned by the current class, and a pointer not owned by the current class. We'll use the following syntax: