> Yes, push_back takes a reference so that the item is > not copied to get it to the function, but push_back > makes a copy to add to the list (or other container). > By push_back taking a reference only one copy is made > instead of two.
How about creating a std::vector<Item*>. That gets rid of the need to make copies all together. Murali.
