hallo liebe community,
ich sitze gerade an einem Projekt von mir und möchte den Quellcode optimieren. In Qt ist es möglich Instanzen von Klassen mit einem Pointer zu deklarieren und diesem dann Speicher zuzuweisen oder direkt als Objekt zu deklarieren
Beide Varianten erzeugen ein Objekt der Klasse 'Auto'. Grundlegend würde ich gerne in Erfahrung bringen wann man welche Variante verwenden sollte und was die genauen Unterschiede / Vor- und Nachteile sind.
Das ist aber jetzt nicht Qt-spezifisch, sondern C++-Grundlagen...
Ein Pointer wird nicht automatisch verwaltet, löschen musst du ihn. Vergisst du es entstehen Speicherlecks, dein Programm macht sich im RAM immer breiter und breiter, je länger es läuft. Vorteil ist aber, dass das Objekt den aktuellen Scope überlebt. Man kann Objekte über Basisklassenzeiger verwalten. Man kann polymorphe Klassen in ner Liste verwalten. Das geht mit automatisch speicherverwalteten Objekten nicht.
Über Vor- und Nachteile sollte aber genügend in deinem C++-Buch stehen.