Hoi zäme,
ich habe eine Übungsaufgabe und merke, ich kann mir die dahinter
liegende Frage nicht beantworten.
D.h. ich frage hier nicht in dem Sinne "Gebt mir die Lösung zur Aufgabe"
sondern ich suche Hilfe, die dahinter liegende Frage zu beantworten.
>Zur Aufgabe:
Es gibt eine Klasse, die einen Vector von Zeigern hat.
Aufgabe ist, den Typ und betroffennen Code so an zu passen, dass die
Klasse der ausschhließliche Owner der Instanzen ist, welche die Elemente
des Vectors referenziern.
1 | class MyClass
|
2 | {
|
3 | private:
|
4 | vector<ToBeOwned*> toBeOwnedInstances;
|
5 | }
|
>Wo sich meine Gedanken drum kreisen:
Wegen der Anforderung "ausschließlich" wird es ein unique_ptr.
Ich farge mich jetzt,
A)
wenn ich einen Vector von unique_ptr´s mache, gehören dann die Instanzen
technisch gesehen nicht dem Vector und eben nicht MyClass?
B)
Oder gehört die Instanz des Vectors MyClass, weil es ein Memeber von
MyClass ist und damit gehört MyClass auch die Instanzen im Vector?
C)
Im Prinzip könnte man auch machen
unique_ptr<vector<unique_ptr<T>>
Das würde (glaube ich) nur Sinn ergeben, wenn man den Vector zwischen
verschiedenen Klassen rumreichen und dabei die Ownership und Lifetime
geklärt haben möchte
Grüssli !