C++从映射中的第一个查找对



我创建了一个这样的地图:

static bool bDone=false;
static std::map<int,int> mMap;
if (!bDone)
{
    bDone=true;
    mMap.insert(pair<int, int>(42810,42811));
    mMap.insert(pair<int, int>(42812,42813));
    mMap.insert(pair<int, int>(42813,42813));
    mMap.insert(pair<int, int>(42814,42815));
    }

我想从第一个中找出第二个。

例如,当我查询值"42814"时,我想得到值"42815"。

应该如何做到这一点?我没有使用C11。

使用映射::find():

std::map<int,int>::iterator it = mMap.find(42814);
if (it != mMap.end())
{
  std::cout << "The value is: " << it->second << std::endl;
}
else
{
  std::cout << "No value " << std::endl;
}

最新更新