Overwrite map with map using <algorithm>?

I would like to do the following, but it doesn't seem to be possible. I am not an STL expert.

typedef std::map<int,int> CMap;

CMap m1;
m1[0] = 10;
m1[1] = 11;
m1[2] = 12;

CMap m2;
m2[20] = 30;
m2[21] = 31;
m2[22] = 32;

std::copy( m1.begin(), m1.end(), m2.begin() );


Is there a way to do this using an algorithm (C ++ 98)? Can this be done with transform () or replace ()? If so, how?



source to share

1 answer

You can do it:

m2 = m1;


Or even this if you like:



And this too:

std::copy(m1.begin(), m1.end(), std::inserter(m2, m2.end()));




All Articles