001
04.08.2003, 01:18 Uhr
Pablo
Supertux (Operator)
|
Ich verstehe deine Frage mit dem MyFirst nicht ganz. Aber ist einfach zu verstehen. Du weißt, was typedef heißt, oder? Das ist für die Frage unwichtig.
Code: |
vector<vector<vector<TText> > > blaText;
|
blaText ist ein Vektor, dessen Elemente Vektoren sind, deren Elemente TText (double) Variablen speichern. Die 3 [] Klammern sind so zu versthene:
blaText[time] liefert das time.-te Elemente, das in blText gespeichert wird. Da dieses Element auch ein Vektor ist, heißt dass, dass dieses Element wohlmöglich weitere Elemente enthält. Also [blaNr] liefert das blaNr.-te Elemnet vom time.-.ten Element von blaText (weiter rekursiv denken). Da dieses Element wieder ein Vektor über TText ist, können wir aus das xzyNr.-te Element mit [xyzNr] zugreifen und wir bekommen somit ein TText Element.
Es lässt sich anders schreieben:
C++: |
vector<vector<TText>>vec_ueber_vec_TText; vector<TText>vec_TText; TText var; // Was ist an der Stelle time? vec_ueber_vec_TText = blaText[time]; // Was ist an der Stelle blaNr? vec_TText = vec_ueber_vec_TText[blaNr]; // Welches TText Element ist das xyzNr-ste Element var = vec_TText[xyzNr];
|
Siehst du, das ist ein großer Aufwand, also kann ich das schneller machen.
C++: |
TText var = blaText[time][blaNr][xyzNr];
|
In dienem Besipiel geht das aber umgekehrt, weil man da etwas speichert. Wann hast du dir die Variable anzeigen lassen? Nach Deklaration oder nach Ausführung der Zuweisung? Nach Deklaration ist logsich, dass der Vector leer ist, nach der Zuweisung, wüsste ich aber nicht warum. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! |