在我的C ++代码中,我通过迭代器访问地图。如有必要,请更新地图,然后将其重新分配给class变量。在继续进行的语句中,我想再次使用更新的地图值。我应该重新加载地图,刷新迭代器吗?等。地图是:
MapType tbl = device->trust();
MapType::iterator iter_trust = tbl.begin();
tbl.insert(std::pair<int, double> (node->getId().id(), 0.1));
对更新后的值执行以下操作,该怎么办?
iter_trust = tbl.find(node->getId().id());
最佳答案
MapType tbl = device->trust();
MapType::iterator iter_trust = tbl.find(node->getId().id());
if (iter_trust == tbl.end()) {
tbl.insert(std::make_pair(node->getId().id(), 0.1));
iter_trust = tbl.find(node->getId().id());
}
else {
tbl[node->getId().id()] = 0.1;
}
因此,您可以确定要升级。
关于c++ - C++ MapType::iterator使用更新后的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7428055/