首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::copy_backward

Defined in header <algorithm>

?

?

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[医]最后;}

*。

二次

代码语言:javascript
复制
#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 << " ";
    }
 }

二次

产出:

二次

代码语言:javascript
复制
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)

代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com