G.5.2 修改式序列操作(2)
1.copy( )
copy( )函数将[first, last)区间中的元素复制到区间[result, result + (last - first))中,并返回result + (last - first),即指向被复制到的最后一个位置后面的迭代器。该函数要求result不位于[first, last)区间中,也就是说,目标不能与源重叠。
2.copy_n( )(C++(www.cppentry.com)11)
函数copy_n( )从位置first开始复制n个元素到区间[result, result + n] 中,并返回result + n,即指向被复制到的最后一个位置后面的迭代器。该函数不要求目标和源不重叠。
3.copy_if( )(C++(www.cppentry.com)11)
函数copy_if( )将[first, last)区间中满足谓词pred的元素复制到区间[result, result + (last - first))中,并返回result + (last - first),即指向被复制到的最后一个位置后面的迭代器。该函数要求result不位于[first, last)区间中,也就是说,目标不能与源重叠。
4.copy_backward( )
函数copy_backward( )将[first, last)区间中的元素复制到区间[result - (last - first), result)中。复制从last - 1开始,该元素被复制到位置result - 1,然后由后向前处理,直到first。该函数返回result - (last - first),即指向被复制到的最后一个位置后面的迭代器。该函数要求result不位于[first, last)区间中。然而,由于复制是从后向前进行的,因此目标和源可能重叠。
5.move( )(C++(www.cppentry.com)11)
函数move( )使用std::move( )将[first, last)区间中的元素移到区间[result, result + (last - first))中,并返回result + (last - first),即指向被复制到的最后一个位置后面的迭代器。该函数要求result不位于[first, last)区间中,也就是说,目标不能与源重叠。
6.move_backward( )(C++(www.cppentry.com)11)