互换元素(swap,swap_ranges)

swap

template <class Assignable>
void swap(Assignable &a,Assignable &b);

iter_swap

template <class ForwardIterator1,class ForwardIterator2>
inline void iter_swap(ForwardIterator1 a,ForwardIterator1 b);

  如果a b是iterator,那么与swap等价,此算法为了支持非标准的reference type的iterator

swap_ranges

  将大小相同的两个range互换,返回值是first2+(last1-first1)

template <class ForwardIterator1,class ForwardIterator2>
ForwardIterator2 swap_ranges(ForwardIterator1 first1,ForwardIterator1 last1,ForwardIterator2 first2);

 

posted on 2019-02-19 22:06  tianzeng  阅读(248)  评论(0)    收藏  举报

导航