2011-09-15 38 views
0

如果我有一組存在的鍵值對的映射,我直接重新分配給迭代器是否安全?例如:安全重新分配std :: map :: value_type&?

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

回答

2

是的。這是完全安全的。 iter->second不算什麼,而是對地圖中的值的引用。

相關問題