• move() iterates forward through the sequence, whereas move_backward() iterates backward. This difference matters only if the source and destination ranges overlap. – To move a subrange to the front, use move(). Thus, for move(), destBeg should have a position in front of sourceBeg. – To move a subrange to the back, use move_backward(). Thus, for move_backward(), destEnd should have a position after sourceEnd. So,wheneverthethirdargumentis anelementof thesourcerangespecifiedbythefirsttwoargu- ments, use the other algorithm. Note that switching to the other algorithm means that you switch from passing the beginning of the destination range to passing the end. See Section 11.6.1, page 559, for an example that demonstrates the differences for the corresponding copy algo- rithms. • The caller must ensure that the destination range is big enough or that insert iterators are used. • These algorithms are available since C++11. • Complexity: linear (numElems move assignments). The following example demonstrates some simple calls of move(). It is the improved example of algo/copy1.cpp (see Section 11.6.1, page 558), using move() instead of copy() whenever possible: