Hallo zusammen,
ich habe mir jetzt mehrere Bücher zum Thema C++ reingezogen - allerdings wurde mir die folgende Frage nie beantwortet:
Wenn ich eine Klasse, z. B. mit dem Namen "Auto" geschrieben habe und Objekte davon erzeugen möchte.
Instanziere ich die dann mit
Auto meinAuto;
oder mit Zeiger
Auto *meinAuto = new Auto;
Wenn ich das richtig sehe, wird die erste Variante auf dem Stack erzeugt - die zweite (Zeiger-Variante) auf dem Heap.
Meine Frage:
Wann erzeuge ich ein Objekt auf dem Stack (Möglichkeit 1) und wann mit der Zeiger-Variate auf dem Heap - von was hängt das ab?
Manche Datentypen, z. B. dynamische Listen lassen sich ja nur über Zeiger (und somit auf dem Heap) realisieren.
Aber z. B. für eigene Klassen weiss ich nicht, wann ich mit welcher Variante erzeuge?
cu
Chris
ich habe mir jetzt mehrere Bücher zum Thema C++ reingezogen - allerdings wurde mir die folgende Frage nie beantwortet:
Wenn ich eine Klasse, z. B. mit dem Namen "Auto" geschrieben habe und Objekte davon erzeugen möchte.
Instanziere ich die dann mit
Auto meinAuto;
oder mit Zeiger
Auto *meinAuto = new Auto;
Wenn ich das richtig sehe, wird die erste Variante auf dem Stack erzeugt - die zweite (Zeiger-Variante) auf dem Heap.
Meine Frage:
Wann erzeuge ich ein Objekt auf dem Stack (Möglichkeit 1) und wann mit der Zeiger-Variate auf dem Heap - von was hängt das ab?
Manche Datentypen, z. B. dynamische Listen lassen sich ja nur über Zeiger (und somit auf dem Heap) realisieren.
Aber z. B. für eigene Klassen weiss ich nicht, wann ich mit welcher Variante erzeuge?
cu
Chris
Comment