重新分配std :: map :: value_type&amp ;?是否安全?

时间:2011-09-15 15:53:47

标签: c++ map iterator

如果我有一组存在键值对的地图,我可以安全地直接重新分配给迭代器吗?例如:

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);
}

1 个答案:

答案 0 :(得分:2)

是。这是完全安全的。 iter->second不算什么,而是对地图中值的引用。