可能重复:
发现元素何时插入到 std::map
我跟踪在地图中插入 137 个元素当我使用 VS2010 调试器检查地图的大小时,我确实得到了 137。使用 printf 我打印地图的所有元素
(it = map.begin();it !=map.end();++it) {
printf ("%x",it->second);
}
结果打印了 137 个值。之后我的程序继续执行。在执行结束时,我需要处理地图的值。
我再次使用调试器检查它有 137 个元素,但是当我像以前一样打印所有元素时,我打印了 138 个值,而最后一个是无效值。
我需要了解它是如何/何时发生的,以及是什么导致map.end()
了转移。