in main() before construction id: 1, default constructor, payload: 1 after construction size: 0 capacity: 0 contents: before push_back() id: 2, copy constructor from id: 1, payload: 1 after push_back() size: 1 capacity: 1 contents: id: 2, payload: 1 before reserve() id: 3, copy constructor from id: 2, payload: 1 id: 2, destructor, payload: 1 after reserve() size: 1 capacity: 2 contents: id: 3, payload: 1 exiting main() id: 3, destructor, payload: 1 id: 1, destructor, payload: 1 Program ended with exit code: 0