描述:
从后往前拷贝容器中的元素到另一容器的末尾。
定义:
template< class BidirIt1, class BidirIt2 >
BidirIt2 copy_backward( BidirIt1 first, BidirIt1 last, BidirIt2 d_last );
template< class BidirIt1, class BidirIt2 >
constexpr BidirIt2 copy_backward( BidirIt1 first, BidirIt1 last, BidirIt2 d_last );
可能的实现:
template< class BidirIt1, class BidirIt2 >
BidirIt2 copy_backward(BidirIt1 first, BidirIt1 last, BidirIt2 d_last)
{
while (first != last) {
*(--d_last) = *(--last);
}
return d_last;
}
参数:
first, last - 要复制的元素范围
d_last - 目标范围的结尾。
返回值:
返回最后复制元素的迭代器。
示例:
#include <iostream>
#include <algorithm>
#include <string>
int main()
{
std::string s1 = "Hello world!";
std::string s2;
s2.resize(s1.size());
std::copy_backward(s1.begin(), s1.end(), s2.end());
std::cout << s2 << std::endl;//Hello world!
}