vector of objects vs vector of pointers