No copying here:
struct person { int age; };
std::list<person> people;
people.push_back(person());
people.back().age = 42; struct person { int age; };
std::list<person> people;
people.push_back(person());
people.back().age = 42;