假设我的代码中有一张 map :
map <string, set<string> > myMap;
...我想从 map 中获取一个元素:
myMap.find("key");
我的问题是:如果“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{
..........
}
最佳答案
它返回一个等于myMap.end()
的迭代器。您可以轻松地对此进行测试:
auto it = myMap.find("key");
if (it == myMap.end())
{
std::cout << "key not found\n";
}
关于c++ - 如果 "key"不存在,map::find() 会返回什么样的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23140956/