Hi Daved, thnaks for your valuable input.

It is vector<Person*> in the program.

There will be a few classes all derived from a single Person base class.

This is why I'm storing pointers to the objects in the vector instead of the objects themselves.

I hope that makes sense, I'm a little confused about the meaning of this right now:

Actually, that code can't work if v is a vector<Person*> because ptr is a Person* and *ptr is just a Person. The types don't match.