std::reverse_copy
提供: cppreference.com
![]() | このページは、Google 翻訳を使って英語版から機械翻訳されました。 翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 |
ヘッダ <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. |
型の要件 | ||
-BidirIt は BidirectionalIterator の要件を満たさなければなりません。 | ||
-OutputIt は 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;} |
[編集]例
Run this code
#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;}
出力:
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.
[編集]参照
指定範囲の要素の順序を反転させます (関数テンプレート) |