[gelöst]MeinObject=null geht nicht?
-
ich such grad nach sowas wie null (kennt ihr vllt aus Java) hab schon NULL probiert kann ich aber nur für zahlen verwenden (NULL=0^^).
Gibt es irgendnen "null" wert den ich variablen zuweisen kann ohne das deren Konstruktor aufgerufen wird?
MeinObject test=null;
null halt.
thx for help
-
MeinObject *obj = 0;
-
Geht nur mit Zeigern. MeinObject* pointer = &object; pointer = NULL;
-
gibts nicht so direkt
bei
YourObject obj;
wird immer der konstruktor aufgerufenwas du suchst is n pointer auf des objekt, das kann NULL sein
YourObject *obj = NULL; if(fasel) obj = new YourObject(); . . . if(obj != NULL) { delete obj; obj = NULL; }
-
hm ich glaub dann muss ich mein Problem wohl mal genauer schildern:
Ich hab ein Mehrdimensionales Array, in dem werte Gespeichert sind. Bei einer Iteration sollen die "null" werte übersprungen werden:
MyObject objecte[][3]= { { MyObject(), MyObject(), null }, { MyObject(), MyObject(), MyObject() }, { MyObject(), null, null } };
anderer Ansatz wären verschieden lange "zeilen" aber da meckert der Compiler.
-
Auch in einem Array kann ein Objekt nicht "nichts" sein. Du wirst Zeiger verwenden müssen, oder einen bestimmten Zustand des Objekts als "ungültig" deklarieren.
-
auto-objekte werden immer automatisch erzeugt. in deinem fall musst du zeiger auf MyObject in deinem array speichern.
MyObject* objecte[][3]= { { new MyObject, new MyObject, 0 }, { new MyObject, new MyObject, new MyObject }, { new MyObject, 0, 0 } };
also im prinzip das gleiche wie in java.
-
nulla schrieb:
...also im prinzip das gleiche wie in java.
Ist sowieso so so: Das, was der Javaist "Referenz" nennt, ist in C++ ein Zeiger.
Gruß,
Simon2.
-
Sagt ihm in diesem Zusammenhang abre auch, dass C++ im Gegensatz zu Java keinen Garbage Collector von Haus aus mitbringt, und er alle mit new erzeugten Objekte auch wieder mit delete löschen muss.
MfG SideWinder
-
jo thx leute
-
hab ich - hab ich - #wink #fuchtel #gg