假設我有我的代碼映射:如果「key」不存在,map :: find()會返回什麼樣的值?
map <string, set<string> > myMap;
...我想從圖中的元素:
myMap.find("key");
我的問題是:什麼樣的價值將MYMAP回報如果「鑰匙」不存在? `
///編輯 任何人都可以指出錯誤的原因嗎?編譯器沒有看到任何錯誤,但服務器測試整個算法,不接受它因爲這個功能。
map< string, set<string> >::iterator mapIterator = container.find(key);
if(mapIterator != container.end()){
set<string>::iterator setIterator = mapIterator->second.begin();
if(!mapIterator->second.empty()){
while(setIterator != mapIterator->second.end()){
cout << *setIterator << endl;
++setIterator;
}
}else{
.......
}
}else{
..........
}
我相信它會返回地圖::結束 – ultifinitus
的可能重複(http://stackoverflow.com/questions/10124679/what-happens-if-i-read-a-maps-value-where-key-does-exist) – honk
請參閱http://en.cppreference.com/w/cpp/container/map/find – juanchopanza