2011-09-15 2 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は何もありませんが、マップ内の値への参照です。

関連する問題