Syntax:
#include <algorithm> output_iterator copy( input_iterator start, input_iterator end, output_iterator dest );
The copy
function copies the elements between start
and end
to dest
. In other
words, after copy
has run,
*dest = *start *(dest+1) = *(start+1) *(dest+2) = *(start+2) ... *(dest+N) = *(start+N)
The return value is the position in the destination range after the last element copied (i.e. dest+N+1
).
copy
runs in linear time.
For example, the following code uses copy
to both copy the contents of one vector
to another and to display the resulting vector:
vector<int> from_vector; for( int i = 0; i < 10; i++ ) { from_vector.push_back( i ); } vector<int> to_vector(10); copy( from_vector.begin(), from_vector.end(), to_vector.begin() ); cout << "to_vector contains: "; copy( to_vector.begin(), to_vector.end(), ostream_iterator<int>( cout, " " ) ); cout << endl;
Related Topics: copy_backward, copy_n, generate, remove_copy, swap, transform