将std :: map数据复制到另一个地图 [英] Copy std::map data to another map
本文介绍了将std :: map数据复制到另一个地图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个像这样定义的地图
struct A
{
int A;
int B;
};
typedef map< int,A>一张地图;
然后我有 Amap1
它到 Amap2
A a ....
Amap Amap1,Amap2;
Amap1 [1] = a1;
Amap1 [2] = a2;
Amap1 [3] = a3;
Amap2.insert(Amap1.begin(),Amap1.end());
有时这个工作正常,有时这只会复制键和值0.在这里我的错误?
解决方案
首先, std :: map
stl :: map
:)
第二次将一张地图复制到另一张地图可以使用operator =
地图< X,Y> mp1;
//用数据填充mp1
map< X,Y> mp2(mp1); // mp2是mp1的副本(通过拷贝构造)
map< X,Y> mp3;
mp3 = mp2; // mp3也是mp2的副本(通过复制赋值)
I have a map that's defined like this
struct A
{
int A;
int B;
};
typedef map<int,A> Amap;
Then I have Amap1
and I want copy it to Amap2
A a....;
Amap Amap1,Amap2;
Amap1[1]=a1;
Amap1[2]=a2;
Amap1[3]=a3;
Amap2.insert(Amap1.begin(), Amap1.end());
Sometimes this work properly, sometimes this copies only the keys and the value 0. Where is my mistake here?
解决方案
First of all, it's std::map
, not stl::map
:)
And second copying one map to another can be done with operator = or the copy constructor.
E.g
map<X, Y> mp1;
//fill mp1 with data
map<X, Y> mp2(mp1); //mp2 is a copy of mp1 (via copy-construction)
map<X, Y> mp3;
mp3 = mp2; // mp3 is also a copy of mp2 (via copy-assignment)
这篇关于将std :: map数据复制到另一个地图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文