如何从C++的地图上阅读

How to read from a map in C++?

本文关键字:地图 C++      更新时间:2023-10-16

我有一张包含 100 个元素的std::map<int,float,float> m_mapWheelvalue;地图我需要读取值.我使用的代码如下:

float fvalue1,fvalue2;
std::map<double,float,float>::iterator itNewMap;
itNewMap= m_mapWheelvalue.find(20);     
if(itNewMap!= m_mapWheelvalue.end())
{           
        fValue1 = itNewMap->second;
        fValue2= itNewMap->third;  
}

但它给出错误!{ 第三个未定义 }如何读取第三个值请给出适当的解决方案

以下内容为我编译:

#include <map>
int main(){
   std::map<double,std::pair<float,float> > m_mapWheelvalue;
   float fValue1,fValue2;
   std::map<double,std::pair<float,float> >::iterator itNewMap;
   itNewMap= m_mapWheelvalue.find(20);
   if(itNewMap!= m_mapWheelvalue.end()){
        fValue1 = itNewMap->second.first;
        fValue2= itNewMap->second.second;
   }
}

笔记:

  • 看看 std::map 定义:第一个参数是键,第二个参数是入口...第三个参数是比较函数。我猜您想在条目中有几个值。我选择使用一对(因为你有两个),如果你有更多的,你可能想定义一个结构/类。
  • 检查变量名称,有几个大小写更改。
  • 地图的迭代器会给你一对键,入口...所以它NewMap->first是键,itNewMap->second是条目。