gpt4 book ai didi

c++ - 将一张 map 复制到另一张 map

转载 作者:搜寻专家 更新时间:2023-10-30 23:50:17 24 4
gpt4 key购买 nike

我有这样一张 map :

map<prmNode,vector<prmEdge>,prmNodeComparator> nodo2archi;

我需要这张 map 的相同拷贝。做这个的最快方法是什么?我试过这个:

map<prmNode,vector<prmEdge>,prmNodeComparator> copiamap( nodo2archi );

但它不起作用。 copiamap 是空的。非常感谢

最佳答案

使用 map 的复制构造函数:

map<prmNode,vector<prmEdge> > nodo2archi;
map<prmNode,vector<prmEdge> > acopy( nodo2archi ) ;

这段复制 map 的代码为每个 map 打印了相同的尺寸 (1)。

#include <map>
#include <iostream>
using namespace std;

typedef map <int, int> MapType;

int main() {
MapType m1;
m1.insert( make_pair( 1, 1 ) );
cout << m1.size() << endl;
MapType m2( m1 );
cout << m2.size() << endl;
}

如果您自己的代码确实无法复制,那么我会怀疑复制构造函数中的错误或包含类型的比较函数以某种方式搞砸了内存。

关于c++ - 将一张 map 复制到另一张 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2423995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com