I followed a number of posts on SO, and finally I can draw a conclusion that when we have something like :
Person name;
name
First, you should know that there is no difference between "object" and "instance". They are synonyms. In C++, you also call instances of primitive types like int or double "objects". One of the design principles of C++ is that custom types (i.e. classes) can be made to behave exactly like primitive types. In fact, in C++, one often prefers to refer to "types" and not "classes".
So, types and objects it shall be. Now that we've settled this, I'm afraid I must tell you that your conclusions are wrong.
Person is a type.
name is a (not very well named) variable to access an object of that type.
A whole line of C++ code would look like this:
Person name;
This means: "create an object of type Person and let me access it via the name variable".
new Person() is much more complicated. You may be familiar with the new keyword from languages like Java, but in C++, it's a very different beast. It means that a new object of type Person is created, but it also means that you are responsible for destroying it later on. It also gives you a different kind of handle to the newly created object: a so-called pointer. A Person pointer looks like this:
Person*
A pointer is itself a type, and the types Person* and Person are not compatible. (I told you that this would be much more complicated :))
You will notice the incompatibility when you try to compile the following line:
Person name = new Person();
It won't compile; you will instead receive an error message. You'd have to do it like this instead:
Person* name_ptr = new Person();
And then you'd have to access all the members of Person with a different syntax:
name_ptr->getValue();
name_ptr->callFunction();
Finally, remember you must explicitly destroy the object in this case:
delete name_ptr;
If you forget this, bad things can happen. More precisely, your program will likely use more and more memory the longer it runs.
I think that pointers are too advanced yet for your level of C++ understanding. Stay away from them until you actually need them.