map自定義結構體作為key



#include <stdio.h>
#include <string>
#include <map>

using namespace std;
typedef struct mystr
{
  int t;
};
typedef struct _MAPKEY
{
  int ikey;
  string strkey;
  mystr mt;
  bool operator < (const _MAPKEY& mapkey)const
  {
    if (mt.t ==0)
    {
      return strkey < mapkey.strkey;
    }
    return strkey < mapkey.strkey;
  }
}MAPKEY;
map<MAPKEY, int>mymap;

int main()
{
  MAPKEY m1,m2;
  m1.ikey = 2;
  m1.strkey = "hello";
  m2.ikey = 23;
  m2.strkey = "main";
  mymap.insert(make_pair(m1,20));
  mymap.insert(make_pair(m2,1));
  map<MAPKEY,int>::iterator itt = mymap.begin();
  itt = mymap.find(m2);
  MAPKEY TM = itt->first;
  return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM