Ich verwende in meiner MFC-Anwendung einen STL-Vektor, um die Länge dynamisch zu halten.
Jetzt habe ich den Vektor lokal im Dokument (bei Einlesen von Werten in meiner Serialize()-Funktion) erzeugt, möchte aber im ganzen Projekt mit diesem Vektor arbeiten.
Ich komme aber nichtmal im Rest des Dokuments an den Vektor dran - geschweige denn im ganzen Projekt. Ich benutze die STL wirklich nur am Rande und habe nicht allzuviel Ahnung davon - kann mir jemand einen Tip geben, wie ich das Ding global verwendbar mache?
Jetzt habe ich den Vektor lokal im Dokument (bei Einlesen von Werten in meiner Serialize()-Funktion) erzeugt, möchte aber im ganzen Projekt mit diesem Vektor arbeiten.
Wenn du den Vektor lokal in einer Methode definierst ist er ja auch nach verlassen des Blocks der Methode nicht mehr vorhanden. Wenn du also permanent mit dem Vector arbeiten möchtest musst du ihn zu einem Attribut des Dokuments machen.
MfG Spacelord -- .....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
Also ist mein animData[][][][] lokal in der Serialize() bekannt - nicht aber im ganzen Dokument. Ich habe die Definition (eigentlich ist ja eine Initialisierung) mal in den Header gesetzt - erwartungsgemäß klappt das nicht. Gibt es eine Möglichkeit, das STL-Objekt im Header zu definieren?
Also ist mein animData[][][][] lokal in der Serialize() bekannt - nicht aber im ganzen Dokument. Ich habe die Definition (eigentlich ist ja eine Initialisierung) mal in den Header gesetzt - erwartungsgemäß klappt das nicht. Gibt es eine Möglichkeit, das STL-Objekt im Header zu definieren?
Im Header wird nichts initialisiert! Deklarier im Header des Dokuments ne Variable deines Monster-Datentyps und initialisier sie im Konstruktor!
Generell würde ich dir aber raten dir erstmal nen gutes C++ Buch zu kaufen.Da scheint ja einiges im argen zu liegen....
MfG Spacelord -- .....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
oh jeah darf ich fragen was da geiles hinter der datenstruktur steht?... ich war ja mal fast so weit ein 3 d vector zu nehmen... das war allerdings ein vector von strukts... aber 4d vector hat schon echt mal was... -- ...fleißig wie zwei Weißbrote
naja die frage ist ob man das nicht vielleicht geschickter modellieren kann mit weniger dimensionen (auch wenn es in der relaität vielleicht mehr dimensionen hat) um performanter und speicherfreundlicher zu sein...
das liegt ganz einfach daran das der von vector vorgehaltene speicher exponentiell wächst... das heisst hat der mal kein platz zum einfügen mehr allokiert der gleich das doppelte vom letzten mal... das tief bis in alle dimensionen rein kann schnell den speicher sinnlos vollkloppen... -- ...fleißig wie zwei WeißbroteDieser Post wurde am 12.10.2004 um 17:41 Uhr von Windalf editiert.
jo, nur der vector ist "so schlau" das er dann gleich wenn er keinen platz mehr hat wieder platz für mind genausoviele elemente anlegt, wenn dieser wieder voll ist, legt er wieder an usw.
in dem beispiel haste dann zwar nur 9 felder angefordert, der angeforderte speicher umfasst aber 16 elemente -- class God : public ChuckNorris { };Dieser Post wurde am 12.10.2004 um 18:06 Uhr von FloSoft editiert.