Copy and Move assignment operator für TreeItem
Verfasst: 27. August 2015 13:35
Hallo,
ich habe folgendes Beispiel zur Übung nachimplemetiert: http://doc.qt.io/qt-5/qtwidgets-itemvie ... ample.html
Da http://doc.qt.io/qt-5/qtwidgets-itemvie ... m-cpp.html und http://doc.qt.io/qt-5/qtwidgets-itemvie ... tem-h.html nicht Rule-Of-Five konform sind, möchte ich zur Übung diese dort einbauen.
Vorab: Klasse TreeItem hat folgende Memebervariablen:
1. Da dort nur die Memebervariable parentItem ein Pointer ist, bringen mir die Vorteile der Move Semantics auch nur dort etwas?
2. QVector<QVariant> itemData ist weder ein Pointer, noch beinhaltet es Pointer, dort habei ch überhaupt keine Vorteile, richtig?
3. QList<TreeItem*> childItems ist selbst zwar auch kein Pointer, aber die Containerelemente sind Pointer. Hätte ich dort Nutzen durch Move Semantics?
4. Wenn ich mit 3. und 4. richtig liege, kann ich Move Semantics ausschöfpen wenn ich alle Membervariablen in Pointer umwandle?
Danke schonmal für alle Aufklärenden und Konstruktiven Hinweisgebern.
VG Ralf
ich habe folgendes Beispiel zur Übung nachimplemetiert: http://doc.qt.io/qt-5/qtwidgets-itemvie ... ample.html
Da http://doc.qt.io/qt-5/qtwidgets-itemvie ... m-cpp.html und http://doc.qt.io/qt-5/qtwidgets-itemvie ... tem-h.html nicht Rule-Of-Five konform sind, möchte ich zur Übung diese dort einbauen.
Vorab: Klasse TreeItem hat folgende Memebervariablen:
Code: Alles auswählen
QList<TreeItem*> childItems;
QVector<QVariant> itemData;
TreeItem *parentItem;
2. QVector<QVariant> itemData ist weder ein Pointer, noch beinhaltet es Pointer, dort habei ch überhaupt keine Vorteile, richtig?
3. QList<TreeItem*> childItems ist selbst zwar auch kein Pointer, aber die Containerelemente sind Pointer. Hätte ich dort Nutzen durch Move Semantics?
4. Wenn ich mit 3. und 4. richtig liege, kann ich Move Semantics ausschöfpen wenn ich alle Membervariablen in Pointer umwandle?
Code: Alles auswählen
QList<TreeItem*> * childItems;
QVector<QVariant> * itemData;
TreeItem *parentItem;
VG Ralf