std::copy_backward
科技促进发展:复制[医]倒向
Defined in header | | |
---|---|---|
template< class BidirIt1, class BidirIt2 > BidirIt2 copy_backward( BidirIt1 first, BidirIt1 last, BidirIt2 d_last | | |
从范围中复制元素,[first, last)
,到另一个范围,以d_last
元素按%28的反向顺序复制,最后一个元素首先复制%29,但它们的相对顺序保持不变。
如果d_last
在(first, last]
...std::copy
必须使用而不是std::copy_backward
那样的话。
参数
first, last | - | the range of the elements to copy |
---|---|---|
d_last | - | end of the destination range.. |
类型要求
-Bidirit必须符合双向迭代器的要求。
返回值
迭代器到最后一个复制的元素。
复杂性
一点儿没错last - first
任务。
注记
复制重叠范围时,std::copy
当复制到目标范围的左方向%28时,目标范围的开头位于源范围%29之外,而std::copy_backward
当将目标范围的%28端复制到源范围%29以外的右侧时,则是适当的。
可能的实施
模板<类BidirIt 1,类BidirIt 2>BidirIt 2副本[医]后向%28 BidirIt 1第一次,BidirIt 1最后一次,BidirIt 2 d[医]最后%29{而%285第21=最后%29{%2A%28-d[医]最后%29=%2A%28--最后%29;}返回d[医]最后;}
*。
例
二次
#include <algorithm>
#include <iostream>
#include <vector>
int main()
{
std::vector<int> from_vector;
for (int i = 0; i < 10; i++) {
from_vector.push_back(i
}
std::vector<int> to_vector(15
std::copy_backward(from_vector.begin(), from_vector.end(), to_vector.end()
std::cout << "to_vector contains: ";
for (auto i: to_vector) {
std::cout << i << " ";
}
}
二次
产出:
二次
to_vector contains: 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9
二次
另见
copycopy_if (C++11) | copies a range of elements to a new location (function template) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。