std::move and unique_ptr

in the move constructor,use " *this=other; " will cause and unwanted
copy assignment,
so use the std::move() to let the compiler to select move assignment
function for the " *this=std::move(other); "

the unique_ptr is not allow copy construct or copy assignment,so the way
so need the line 118 show how four way to create and assgin data to
unique_ptr;

line 123 show some vector initialize  and use of std::sort() function