Defined in header <algorithm> template< class BidirIt1, class BidirIt2 >
BidirIt2 move_backward( BidirIt1 first, BidirIt1 last, BidirIt2 d_last ); (since C++11)
Moves the elements from the range [first, last), to another range ending at d_last. The elements are moved in reverse order (the last element is moved first), but their relative order is preserved.
The behavior is undefined if d_last is within (first, last]. std::move must be used instead of std::move_backwar