C++mapの正しい遍歴削除方法

547 ワード

int main(int argc, char* argv[])  
{  
    map mapData;  
      
    mapData["a"] = "aaa";   
    mapData["b"] = "bbb";   
    mapData["c"] = "ccc";   
  
  
    for (map::iterator i=mapData.begin(); i!=mapData.end(); /*i++*/)  
    {  
        if (i->first == "b")  
        {  
            mapData.erase(i++);  
        }  
        else  
        {  
            i++;  
        }  
    }  
    return 0;  
}