我在C ++中有一个unordered map
(umap):
unordered_map<int, bool> dTimeResetUmap;
我将其值设置为:
dTimeResetUmap[person.object_id] = true;
person.object_id
可以是0, 1, 2, 3
任何int数。在代码的某些点,我必须修改al中的值(基本上必须将所有值都设为false
),如下所示:int size_of_dTimeResetUmap = dTimeResetUmap.size();
for (int i = 0; i <= size_of_dTimeResetUmap; i++)
{
dTimeResetUmap[i] = false;
}
但这似乎没有任何价值。经过长时间的代码运行后,
dTimeResetUmap
中的几个值仍然是true
而不是false
。可能是什么原因。这不是更新值的好方法。请帮助谢谢。 最佳答案
使用C ++迭代来访问地图的每个元素:
for (auto & element : dTimeResetUmap)
{
element.second = false;
}
关于c++ - 如何在C++中修改unordered_map中的每个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58639849/