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

时间:2015-02-03 18:14:21

标签: c++ dictionary clear

以下是一个例子:

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;

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

1 个答案:

答案 0 :(得分:2)

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

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

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

所以,我的猜测是没有内存泄漏,而且你没有在那里分配任何内存。