相关疑难解决方法(0)

如何遍历/迭代STL Map?

需要知道如何遍历stl地图.我不想用它的钥匙.我不关心排序,只是一种访问它包含的所有元素的方法.有没有办法做到这一点?

c++ dictionary stl traversal

34
推荐指数
4
解决办法
4万
查看次数

检查值存在于std :: map - C++中

我知道find方法在std :: map中找到提供的键,并将迭代器返回给元素.反正有没有找到值并获得元素的迭代器?我需要做的是检查std :: map中是否存在指定的值.我通过循环地图中的所有项目并进行比较来完成此操作.但我想知道有没有更好的办法.

这是我写的

bool ContainsValue(Type_ value)
{
    bool found = false;
    Map_::iterator it = internalMap.begin(); // internalMap is std::map
    while(it != internalMap.end())
    {
        found = (it->second == value);
        if(found)
            break;
        ++it;
    }
    return found;
}
Run Code Online (Sandbox Code Playgroud)

编辑

如何在内部使用另一个存储值,键组合的地图.所以我可以打电话找到它吗?std :: map中的find()是否进行顺序搜索?

谢谢

c++ iterator stdmap find

31
推荐指数
5
解决办法
7万
查看次数

标签 统计

c++ ×2

dictionary ×1

find ×1

iterator ×1

stdmap ×1

stl ×1

traversal ×1