so eine map hat wohl immer nur 2 argumente wo der erste der key is, ja ich glaub schon.
aber du kannst eine index-map nehmen und über die
deine anderen werte wiederum den ids aus der ersten map
zuordnen.
also z.b. so:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
stdext::hash_map<int, meineklasse *> map1;
stdext::hash_map<string, int> map2;
map1[0] = new meineKlasse();
map2["hallo"] = 0;
|
nu kannste dir immer aus der zweiten map mit string als key
die id für den eintrag in der ersten map holn.
wobei ich nicht sicher bin ob das genau dein problem abdeckt.
du kannst doch auch einfach ne klasse baun die
deine variablen kapselt und dann
pointer auf die instanzen in die map stecken also dann so
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
struct/class CMeineHilfsKlasse{
public:
int varable1;
std::string variable2;
double variable3;
//usw.
};
typedef stdext::hash_map<int, CMeineHilfsKlasse *> mymap;
mymap meineMap;
meineMap[0] = new CMeineHilfsKlasse(...);
//irgendwo dann halt weider löschen
for(mymap::const_iterator it = meineMap.begin(); it != mymap.end(); it++){
if (it->second)delete it->second;
}
|
ich hoffe ich konnte helfen.
gruß 23h