copy_backward



#include <algorithm>
#include <iostream>
#include <vector>
                                                                                                                
using std::vector,
    std::copy_backward,
    std::cerr;
                                        
class Temp{
    public:
        int a, b;
        Temp(int i, int j):a(i), b(j){}
};

typedef vector<Temp> my_vector;
            
int main(){
    my_vector a = {Temp(0, 0), Temp(1, 1), Temp(2, 4), Temp(3, 9)};
    my_vector b = {Temp(2, 4), Temp(17, 289), Temp(18, 324), Temp(19, 361)};

    auto print = [] (Temp t){
        cerr << "Temp(" << t.a << ", " << t.b << ") ";
    };  
    
    cerr << "b before copy:\n";
    for_each(b.begin(), b.end(), print);
    cerr << "\n";
    copy_backward(a.begin(), a.end(), b.end());

    cerr << "b after copy:\n";
    for_each(b.begin(), b.end(), print);
    cerr << "\n";
    return 0;
}      
C++ Examples© 2024 TBD