std::reverse_copy
提供: cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Defined in header <algorithm>
|
||
template< class BidirIt, class OutputIt > OutputIt reverse_copy( BidirIt first, BidirIt last, OutputIt d_first ); |
||
コピー範囲
[first, last)
から要素を、そのような方法でd_first
で別の範囲の先頭に、新しい範囲内の要素はであることを。。逆の順序は...コピーされた最後の要素過去の要素に Original:
Copies the elements from the range
[first, last)
, to another range beginning at d_first
in such a way, that the elements in the new range are in reverse order. The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目次 |
[編集] パラメータ
first, last | - | コピーする要素の範囲
Original: the range of elements to copy The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
d_first | - | 目的の範囲の始まり
Original: the beginning of the destination range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Type requirements | ||
-BidirIt must meet the requirements of BidirectionalIterator .
| ||
-OutputIt must meet the requirements of OutputIterator .
|
[編集] 値を返します
出力イテレータ.
Original:
Output iterator to the element past the last element copied.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] 可能な実装
template<class BidirIt, class OutputIt> OutputIt reverse_copy(BidirIt first, BidirIt last, OutputIt d_first) { while (first != last) { *(d_first++) = *(--last); } return d_first; } |
[編集] 例
#include <vector> #include <iostream> #include <algorithm> int main() { std::vector<int> v({1,2,3}); std::for_each(std::begin(v), std::end(v), [&](int value){ std::cout << value << " "; }); std::cout << std::endl; std::vector<int> destiny(3); std::reverse_copy(std::begin(v), std::end(v), std::begin(destiny)); std::for_each(std::begin(destiny), std::end(destiny), [&](int value){ std::cout << value << " "; }); std::cout << std::endl; }
Output:
1 2 3 3 2 1
[編集] 複雑
first
last
との間の距離の線形Original:
linear in the distance between
first
and last
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集] も参照してください
範囲内の秩序の要素を反転します Original: reverses the order elements in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数テンプレート) |