templateFirstには、反転してコピーするコピー元の最初の要素。inline OutputIterator reverse_copy( BidirectionalIterator First, BidirectionalIterator Last, OutputIterator Result )
Lastは、最後の要素の次。
Resultは、出力先です。
では、サンプルを見てみましょう。
// reversecopy01.cpp #include <iostream> #include <algorithm> #include <vector> using namespace std; int main() { vector<int> v1, v2(10); vector<int>::iterator p1, p2; int i; for (i = 0; i < 10; i++) v1.push_back(i); for (p1 = v1.begin(); p1 != v1.end(); p1++) cout << *p1 << ", "; cout << endl; reverse_copy(v1.begin(), v1.end(), v2.begin()); for (p2 = v2.begin(); p2 != v2.end(); p2++) cout << *p2 << ", "; cout << endl; return 0; }実行結果はどうなっているかというと
v2には、あらかじめv2(10)のように長さを指定しておく必要があります。
いろいろなプログラムを作ってreverse_copy関数の動作を試してみてください。
Update Nov/20/2005 By Y.Kumei