//имеется класс ключейclass TMyKey{ int i; int j;}//имеется класс объектаclass TMyObj{...}...//объявляем переменные ключейTMyKey Key1;TMyKey Key2;....QMap< TMyKey , *TMyObj> map....//инициализируем ключи даннымиKey1.i = 1;Key1.j = 1;Key2.i = 2;Key2.j = 2;//создаем объекты и заносим в мапу ключи и указатели на объектыTMyObj *myObj1 = new TMyObj ; map.insert(Key1, myObj1 );TMyObj *myObj2 = new TMyObj ;map.insert(Key2, myObj2 );
TMyKey Key3;Key3.i = 2;Key3.j = 2;
TMyObj *myObj3 = map.value( Key3 );
//имеется класс ключейclass TMyKey{ int i; int j;}//имеется класс объектаclass TMyObj{...}...//объявляем переменные ключей НО по другому!!!TMyKey *Key1 = new TMykey;TMyKey *Key2 = new TMyKey;....QMap< *TMyKey , *TMyObj> map....//инициализируем ключи даннымиKey1->i = 1;Key1->j = 1;Key2->i = 2;Key2->j = 2;//создаем объекты и заносим в мапу указатели на ключи и указатели на объектыTMyObj *myObj1 = new TMyObj ; map.insert(Key1, myObj1 );TMyObj *myObj2 = new TMyObj ;map.insert(Key2, myObj2 );
TMyKey *Key3 = new TMyKey;Key3->i = 2;Key3->j = 2;
TMyClass *myObj = map.value( Link );
myObj->setData(Data);
class TLink{public: int Id1; int Id2; int Id3; .......... int InN;}inline bool operator<(const TLink&L1, const TLink&L2){ if (L1.Id1 != L2.Id1) return L1.Id1 < L2.Id1); if (L1.Id2 != L2.Id2) return L1.Id2 < L2.Id2); if (L1.Id3 != L2.Id#) return L1.Id3 < L2.Id3);............................................................................ if (L1.IdN != L2.IdN) return L1.IdN < L2.IdN);}
C++ (Qt)inline bool operator<(const TLink&L1, const TLink&L2){ if (L1.Id1 != L2.Id1) return L1.Id1 < L2.Id1); if (L1.Id2 != L2.Id2) return L1.Id2 < L2.Id2); if (L1.Id3 != L2.Id3) return L1.Id3 < L2.Id3);............................................................................ return L1.IdN < L2.IdN);}
C++ (Qt)if (L1.Id1 < L2.Id1) return true;