Re: Einfache Frage zur Initialisierung
Ich habe aber dort nicht gefunden, dass beim Anlegen (reservieren) von
Speicher auch gleichzeitig eine Initialiserung vorgenommen wird.
Das hängt davon ab, wie der Speicher reserviert wird.
Wenn ein Objekt mit
= new Classname()
erzeugt wird,
dann erfolgt die Initialisierung durch den Konstruktor der Klasse
bzw. durch den Default-Konstruktor der Klasse bzw. der Oberklasse.
Wenn ein Array mit
= { xxx, xxx, ... }
erzeugt wird,
dann werden die Elemente so initialisiert, wie Du es erwartest. :-)
Wenn ein Array mit
= new type[lenght]
erzeugt wird,
dann werden die Elemente mit den Defaultwerten (0, null, false)
initialisiert,
was Du offenbar nicht erwartet hast, aber nett von Java ist. :-)
--
.
Relevant Pages
- Re: Ueberladenes new/delete. Wie Konstruktor/Destruktor unterdruecken?
... new ruft immer den Konstruktor auf, ... Nun hast Du in der Klasse einen weiteren Verweis auf einen Datenbereich, ... Im Destruktor trägst Du den allokierten Speicher wieder in die Liste ein. ... Das ganze funktioniert wieder wie ein Poolalloc den auch CList und Konsorten verwenden. ... (microsoft.public.de.vc) - Re: wie Array =?ISO-8859-15?Q?f=FCr_statische_Methoden?=
... Kriterien, über die wir uns wohl einigermaßen einig sind, zutreffen dann benutze ich diesen Modifier eben auch, sonst nicht. ... entsprechenden Klasse und die Kostet auf jeden Fall Speicher selbst wenn es keine lokalen Variablen gibt. ... Gerade wenn es mehrere Aufrufer gibt und die immer wieder eine Instace von der Klasse erstellen müssen nur um eine simple Utility-Methode aufzurufen dann belastet das bei Java ja auch noch den GC. ... (de.comp.lang.java) - =?ISO-8859-1?Q?Re:_Klasse_=FCberladen?=
... Leider gebietet die Logik, daß ein Konstruktor wissen muß, die Instanz ... welcher Klasse er da genau erzeugen soll. ... einen "Namensraum" bilden, in dem jede der Klassen einen eindeutigen ... (de.comp.lang.delphi.misc) - Re: Dictionaries - schnell und effizient?
... das ich davon ca. 100.000 Stück kurzzeitig im Speicher halten muss und daher nicht eine eigene Klasse schreiben will. ... Ich nehme mal an, du meinst 100.000 IDs. ... "Hashtable" wahrscheinlich nur geringfügig anders verhalten, Dictionary ist halt einfach die typsichere Variante. ... Eine eigene Klasse wollte ich vermeiden weil das ja Overhead bedeutet, aber ich komme dabei aus dem PHP Bereich wo ein array deutlich ... (microsoft.public.de.german.entwickler.dotnet.csharp) - Re: Richtige Zerstörung von eigenen Objekten
... Natürlich sind meine Klasse keine sehr komplexen Klassen. ... das ich direkt keine Speicher freigeben kann. ... Finalize-Methode aufgerufen und durchgefuehrt werden kann. ... >benötigten Klasseninstanzen zu zerstören. ... (microsoft.public.de.german.entwickler.dotnet.vb) |
|