分配新地图后是否需要清除地图?

Do i need to clear map after assign new map?

这是一个例子:

pair< map<int, string>, map<int, string> > test;
test = data;

所以我需要在赋值前调用clear方法吗?像这样:

pair< map<int, string>, map<int, string> > test;
test.first.clear();
test.second.clear();
test = data;

或者第一个例子是正确的,没有内存泄漏?

http://www.cplusplus.com/reference/map/map/map/

地图构造函数 - 构造没有元素的空容器。

Pair - 构造一个 pair 对象,其元素值已初始化。

因此,我的猜测是没有内存泄漏,而且您没有在那里分配任何内存。