#include <iostream> #include <vector> #include <memory> using namespace std; class Sample { public: // 普通のctor Sample( int x ) { vec = unique_ptr<vector<int> >( new vector<int>() ); vec->push_back( x ); } // Move ctor Sample( Sample && r ) { // ちなみに、ただのcopy ctorでmoveなんてしたら大変なことになるので注意 vec = move( r.vec ); } // dtorは空。unique_ptr便利!! ~Sample(){} // Movable substitution operator Sample& operator =( S