std::move_backward

来自cppreference.com
< cpp‎ | algorithm

 
 
算法库
执行策略 (C++17)
不修改的序列操作
(C++11)
(C++11)
(C++11)
(C++17)
修改的序列操作
(C++11)
(C++11)
move_backward
(C++11)

未初始化存储上的操作
划分操作
排序操作
(C++11)
二分查找操作
集合操作(在已排序范围上)
堆操作
(C++11)
最小/最大操作
(C++11)
(C++17)

重排
数值操作
C 库
 
定义于头文件 <algorithm>
template< class BidirIt1, class BidirIt2 >
BidirIt2 move_backward( BidirIt1 first, BidirIt1 last, BidirIt2 d_last );
移动的范围内[first, last)中的元素,在d_last到另一个范围的结局。以相反的顺序(最后一个元素是先移走)的元素被移动,但它们的相对顺序是保留的.
原文:
Moves the elements from the range [first, last), to another range ending at d_last. The elements are moved in reverse order (the last element is moved first), but their relative order is preserved.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 参数

first, last -
的范围内移动的元素
原文:
the range of the elements to move
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
d_last -
年底的目标范围内。如果d_last[first, last)NJ的std ::移动</ span>必须使用代替std::move_backward.
原文:
end of the destination range. If d_last is within [first, last), NJ的std ::移动</ span> must be used instead of std::move_backward. </div>
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
</div></div></div></div>
类型要求
-
BidirIt1, BidirIt2 必须满足 BidirectionalIterator 的要求。

[编辑] 返回值

目标范围的迭代器,指向最后一个元素的感动
原文:
Iterator in the destination range, pointing at the last element moved.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 复杂度

究竟last - first移动作业.
原文:
Exactly last - first move assignments.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 可能的实现

template< class BidirIt1, class BidirIt2 >
BidirIt2 move_backward(BidirIt1 first,
                                     BidirIt1 last,
                                     BidirIt2 d_last)
{
    while (first != last) {
        *(--d_last) = std::move(*(--last));
    }
    return d_last;
}

[编辑] 示例

[编辑] 另请参阅

(C++11)
将某一范围的元素移动到一个新的位置
(函数模板) [编辑]

来自“http://zh.cppreference.com/mwiki/index.php?title=cpp/algorithm/move_backward&oldid=37861