我想做以下但似乎不可能。我不是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()来完成吗?如果是,怎么样?
谢谢!
答案 0 :(得分:4)
你可以这样做:
m2 = m1;
如果你愿意,甚至可以这样:
m2.swap(m1);
也有这个:
std::copy(m1.begin(), m1.end(), std::inserter(m2, m2.end()));