template <class BidirectionalIterator, class OutputIterator> OutputIterator reverse_copy (BidirectionalIterator first, BidirectionalIterator last, OutputIterator result); |
template <class BidirectionalIterator, class OutputIterator> OutputIterator reverse_copy (BidirectionalIterator first, BidirectionalIterator last, OutputIterator result) { while (first!=last) { --last; *result = *last; ++result; } return result; } |
// reverse_copy example #include <iostream> // std::cout #include <algorithm> // std::reverse_copy #include <vector> // std::vector int main () { int myints[] ={1,2,3,4,5,6,7,8,9}; std::vector<int> myvector; myvector.resize(9); // allocate space std::reverse_copy (myints, myints+9, myvector.begin()); // print out content: std::cout << "myvector contains:"; for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it) std::cout << ' ' << *it; std::cout << '\n'; return 0; } |
reverse | 反转元素(函数模板) |
rotate_copy | 旋转并复制元素(函数模板) |
copy | 复制范围的元素(函数模板) |
copy_backward | 从末尾复制范围的元素(函数模板) |
swap | 交换两个对象的值(函数模板) |