Qt: Rückgabe von Listen
-
Guten Morgen,
Momentan bin ich mit einem Projekt mit mehreren verketteten Listen beschäftigt. Ich verwende hierfür QLinkedList<T*>. Ich habe innerhalb einer Klasse "Zahlen" eine Get-Methode geschrieben, die mir eine private Liste zurückgeben soll.
QLinkedList<int*>* Zahlen::GetList() { return &zahlenlist; }
Meine Frage ist nun, wie ich die Liste richtig (Speicher schonend) zurückgeben soll, ohne immer eine Kopie dieser Liste zu erstellen.
Ist die obrige Methode richtig, oder ist folgendes besser:QLinkedList<int*> Zahlen::GetList() { return zahlenlist; }
Kann mir jemand den Unterschied erklären?
Ich bedanke mich im Voraus.
-
Bei Qt ist fast alles implizit geshared, d.h. die Liste wird nur kopiert, wenn du sie veränderst, und Objekte zurückzugeben ist somit billig und auf jeden Fall besser.
Warum int*?