Frage

Ich habe festgestellt QPointer . Gibt es andere?

War es hilfreich?

Lösung

Erhöhung - die weak_ptr hat einige nette Features dass es sicher zu verwenden, wenn Sie auch shared_ptr verwenden. Sie halten einen weak_ptr Verweis auf eine Instanz, die von shared_ptr Lebensdauer verwaltet wird. Wenn Sie die zugrunde liegende Instanz verwenden müssen, wandelt es in eine shared_ptr Instanz des Konstruktor der shared_ptr-Klasse oder die lock Methode. Der Vorgang wird fehlschlagen, wenn die zugrunde liegende Instanz gelöscht. Die Verwendung ist die Threadsicherheit in der gleichen Art und Weise wie die shared_ptr Klasse:

shared_ptr<int> p(new int(5));
weak_ptr<int> q(p);

// some time later

if(shared_ptr<int> r = q.lock())
{
    // use *r
}

Andere Tipps

"boost :: weak_ptr" funktioniert wirklich gut mit "boost :: shared_ptr" (auch in tr1 verfügbar)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top