#include #include #include #include using std::unique_ptr; using std::vector; int main(int argc, char **argv) { vector > vec; vec.push_back(unique_ptr(new int(9))); vec.push_back(unique_ptr(new int(5))); vec.push_back(unique_ptr(new int(7))); // z is (a reference to) the (int pointed to by // the unique_ptr in vec[1]) int z = *vec[1]; std::cout << "z is: " << z << std::endl; // compiler error, since unique_ptrs can't be copied //unique_ptr copied = vec[1]; // works, but now vec[1] has a null pointer. unique_ptr moved = std::move(vec[1]); std::cout << "*moved: " << *moved << std::endl; std::cout << "vec[1].get(): " << vec[1].get() << std::endl; return EXIT_SUCCESS; }