Qt Objekte erzeugen

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
el-gringo
Beiträge: 4
Registriert: 16. April 2008 17:22
Kontaktdaten:

Qt Objekte erzeugen

Beitrag von el-gringo »

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

Beispiel :

Code: Alles auswählen

Auto *bmw = new bmw();
Auto mercedes;
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.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

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.
el-gringo
Beiträge: 4
Registriert: 16. April 2008 17:22
Kontaktdaten:

Beitrag von el-gringo »

danke für die schnelle antwort, werde mir nochmal die lektüre zu gemüte ziehen
Antworten