<algorithm> 可以用地图覆盖地图吗?
overwriting map with map possible with <algorithm>?
我想执行以下操作,但似乎不可能。我不是STL专家。
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() );
有没有办法使用算法 (C++98) 来做到这一点?可以用 transform() 或 replace() 来完成吗?如果是,如何?
谢谢!
你可以这样做:
m2 = m1;
如果你愿意,甚至可以这样:
m2.swap(m1);
还有这个:
std::copy(m1.begin(), m1.end(), std::inserter(m2, m2.end()));
我想执行以下操作,但似乎不可能。我不是STL专家。
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() );
有没有办法使用算法 (C++98) 来做到这一点?可以用 transform() 或 replace() 来完成吗?如果是,如何?
谢谢!
你可以这样做:
m2 = m1;
如果你愿意,甚至可以这样:
m2.swap(m1);
还有这个:
std::copy(m1.begin(), m1.end(), std::inserter(m2, m2.end()));