shared_ptr mit Vektor

Ich habe derzeit Vektoren wie:

vector<MyClass*> MyVector;

und ich Zugriff über

MyVector[i]->MyClass_Function();

Möchte ich nutzen shared_ptr. Bedeutet das, dass alles, was ich zu tun ist, ändern meine vector:

typedef shared_ptr<MyClass*> safe_myclass

vector<safe_myclass>

und ich kann weiterhin mit dem rest von meinem code, wie es vorher war?

Besser werden shared_ptr<MyClass>
Ok, aber wird shared_ptr<MyClass> erlauben Sie mir, zu replizieren, vector<MyClass*> statt Vektor<MyClass>? Ich bin nicht mit jedem Polymorphismus in meinem code.
shared_ptr<MyClass> ist ein Zeiger, um eine bereits freigegebenen Zeiger auf eine MyClass Objekt. shared_ptr<MyClass*> wäre ein Zeiger auf einen Zeiger, oder die raw-äquivalent MyClass**.
Ausgezeichnet, dachte ich, so viel. Dank K-ballo
ein Zeiger auf einen Zeiger" wäre SMART-pointer zu pointer.

InformationsquelleAutor user997112 | 2012-05-28

Schreibe einen Kommentar