c++ - 如何在 C++ 中搜索 map

标签 c++ dictionary search find

this example作为我最了解如何使用 C++ 搜索 map 的方法,我仍然需要帮助。

我为电话簿创建了 map 。

map<string,int> PhBook;

现在我让用户向其中添加姓名和电话。

getline(cin >> ws,name);
cin >> phone;
PhBook[name] = phone;

我想做的是让用户在 map 中搜索可能的名称并相应地打印“电话 = ....”或“未找到”消息。

那我该怎么做呢?因为我是新手,所以我想要最简单的解决方案。我的困难在于我不知道如何使用元素(人名)搜索 map 。

最佳答案

这里 map 返回一个迭代器到 it 如果找到,否则 it 返回一个迭代器到 map::end

map<string,int> ::iterator it;
it = PhBook.find(name);

if (it != PhBook.end()){  
  cout<<"The phone = "<<it->second<<endl;
}else{
  cout<<"Not found"<<endl;
}

关于c++ - 如何在 C++ 中搜索 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42477384/

相关文章:

c++ - 在 C++ 中创建数据驱动结构?

python - 如何通过与条件匹配的值来过滤列表中的字典?

Python-将许多列表字典添加到持久主字典时的性能

python - 更改 __hash__ 的类仍然适用于字典访问

c++ - 为什么在 vector 中间添加或删除元素这么慢?

c++ - MSVC std::pair 实现:SFINAE 是否在此处正确应用?

search - 如何从 Google 搜索中聚合数据

android - 如何使用 Google Analytics 跟踪我的 Android 应用程序中的搜索查询?

MySQL 表列具有英文值或阿拉伯语值

C++ 类和变量