copy_backward [C++ Reference]
Keywords: stl,algorithm,copy_backward
Date: 2009-10-09T01:09:47-0700

[[copy_backward]]
C++ Reference
Translations of this page?:

- en
- br-pt
- cn
- fr
- it
- jp
- pl
- ru
- tr

## copy_backward

Syntax:

        #include <algorithm>
        bidirectional_iterator2 copy_backward( bidirectional_iterator start, bidirectional_iterator end, bidirectional_iterator2 dest );

copy_backward() is similar to copy, in that both functions copy elements from `start` to `end` to `dest`. The copy_backward() function, however, starts depositing elements at `dest` and then works backwards, such that:

       *(dest-1) == *(end-1)
       *(dest-2) == *(end-2)
       *(dest-3) == *(end-3)
       ...
       *(dest-N) == *(end-N)

The following code uses copy_backward() to copy 10 integers into the end of an empty vector:

       vector<int> from_vector;
       for( int i = 0; i < 10; i++ ) {
         from_vector.push_back( i );
       }

       vector<int> to_vector(15);

       copy_backward( from_vector.begin(), from_vector.end(), to_vector.end() );

       cout << "to_vector contains: ";
       for( unsigned int i = 0; i < to_vector.size(); i++ ) {
         cout << to_vector[i] << " ";
       }
       cout << endl;

The above code produces the following output:

       to_vector contains: 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9

Related Topics: copy, copy_n, swap

Edit this page • Old revisions
• • • Login • Index • Recent changes • RSS • cc •