如果我有一组存在键值对的地图,我可以安全地直接重新分配给迭代器吗?例如:
bool switchIf(const std::string& key, Widget& widget)
{
WidgetMap::iterator iter = _widgets.find(key);
if(_widgets.end() != iter)
{
iter->second = widget;
}
return (_widgets.end() != iter);
}
答案 0 :(得分:2)
是。这是完全安全的。 iter->second
不算什么,而是对地图中值的引用。