我想检查是否在地图中找到某个键,如果是这样我想将它放在变量中以供其他用途,但问题是我不想使用迭代器.我在map类中找到了find函数,但它返回了一个迭代器,我想要检查是否在map中找到了一个键,如果它返回true则获取它
谢谢
std::map::count()如果地图包含特定密钥,将通知您.如果键在地图中,那么您可以使用operator[]获取值,知道不会添加默认值(尽管ildjarn指出需要两次搜索地图):
std::map<int, int> m;
m[0] = 1;
m[1] = 2;
if (m.count(0))
{
std::cout << "value=" << m[0] << "\n";
}
Run Code Online (Sandbox Code Playgroud)
为什么find()没有吸引力,我不清楚:
std::map<int, int>::iterator i = m.find(0);
if (i != m.end())
{
std::cout << "value=" << i->second << "\n";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |