Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Daxtor Mini JLI'ler
Anmeldedatum: 17.09.2002 Beiträge: 32 Wohnort: Torgau Medaillen: Keine
|
Verfasst am: 13.09.2003, 13:47 Titel: Map und Strukturen |
|
|
Hi,
ich arbeite noch nicht lange mit der STL.
Wenn ich wiefolgt eine Struktur anlege und diese per Map speichere:
Code: |
struct Path
{
RECT Object[1];
TYPE Type;
bool State;
int Lenght;
} m_ThePath;
// die Map
map<int,Path> m_Path;
|
ich greife dann Normal per
Code: |
m_Path[ID].Object[0].right;
|
darauf zu. Wenn es bei ... Object[0] bleibt geht das, aber wenn noch ein 2. Object (Rechteck) existiert habe ich immer Fehler, dass andere Variablen nicht stimmen. Ich denke, dass ich dabei über den Speicher der Variablen hinausschreibe.
Daher meine Frage:
Kann man mit einer Map in einer Struktur enthaltene Arrays speichern?
Vielleicht liegt es auch an etwas anderem, ich habe den Fehler nur leider auch seit mehrstündigem Suchen nicht gefunden
Danke!
cu Daxtor _________________ Was kannst Du erwarten wenn Du "Weichware" von einer Firma namens "Winzigweich" kaufst? Also, dann bist du doch mit Software von Microsoft noch gut dran... |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 13.09.2003, 13:51 Titel: |
|
|
dann musst du ja auch statt RECT Object[1];
das schreiben: RECT Object[2];
Map speichert alles, aber wenn du das eh als Array verwendest, warum nimmst du dann nicht einfach vector? _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
Daxtor Mini JLI'ler
Anmeldedatum: 17.09.2002 Beiträge: 32 Wohnort: Torgau Medaillen: Keine
|
Verfasst am: 13.09.2003, 15:07 Titel: |
|
|
Ja, ich hatte auch zuerst nen vector, dann aber wegen Umstrukturierung auf Map umgestellt (da kann man die Werte über die Schlüsselworte ebend richtig bezeichenen). Jetzt habe ich gemerkt, dass es doch besser ist die Werte Zahlen (ID's) zuzuweisen und habe aus Mangel an Zeit nicht wieder auf Vectoren umgestellt (da MUSS man ja glaube ich zumindest per Iterator auf die Elemente zugreifen).
Ich probier deine Korrauf jeden Fall mal aus.
Danke vielmals!
cu Daxtor _________________ Was kannst Du erwarten wenn Du "Weichware" von einer Firma namens "Winzigweich" kaufst? Also, dann bist du doch mit Software von Microsoft noch gut dran... |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 13.09.2003, 15:58 Titel: |
|
|
Was erzählst du da für ein Müll?
vector macht man so:
vector<datentyp> meinVector;
datentyp eineIrgendwas;
meinVector.push_back(eineIrgendwas);
meinVector[zahl].status = "active";
Bei Map braucht man gegebenfalls ein Iterator. _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 13.09.2003, 17:46 Titel: |
|
|
Was ist an seiner Frage Müll? Mal ganz davon abgesehen, dass du das etwas freundlicher formulieren könntest, sagt er warum er eine map verwendet hat.
Zitat: |
da kann man die Werte über die Schlüsselworte ebend richtig bezeichenen
|
Also bitte nicht rummeckern, es ist so schönes Wetter. |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 13.09.2003, 18:28 Titel: |
|
|
Okay ich versuchs mal:
1. Er sagt er hat am Anfang vector verwendet
2. Er verwendet nun map um einen richtigen Schlüssel dem Wert zuzuordnen
3. Nun hat er gemerkt, dass er doch besser mit einer ID, also Zahlen auf die Werte zugreifen kann
4. Nun das gleiche kann man mit vector wahrscheinlich effizienter realisieren
5. ist der iterator bei dem vector ArrayTyp nicht von nöten
6. Dies ist es aber, wenn man korrekt prüfen will, ob man auf sichere Bereiche des Map SchlüsselArrays zugreifen will
7. Bei vector kann man einfach das mit > vectorarray.size() prüfen
8. Statement End _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
|