Namespaces
Variants

std::experimental:: observer_ptr

From cppreference.net
Definiert in Header <experimental/memory>
template < class W >
class observer_ptr ;
(Library Fundamentals TS v2)

std::experimental::observer_ptr ist ein nicht-besitzender Zeiger, oder ein Observer . Der Observer speichert einen Zeiger auf ein zweites Objekt, bekannt als das beobachtete Objekt . Ein observer_ptr kann auch kein beobachtetes Objekt haben.

Ein Observer ist in keiner Weise für das beobachtete Objekt verantwortlich; es besteht keine inhärente Beziehung zwischen einem Observer und dem Objekt, das er beobachtet.

Es ist als nahezu direkter Ersatz für Rohzeigertypen gedacht, mit dem Vorteil, dass es als Vokabulartyp seine beabsichtigte Verwendung anzeigt, ohne dass eine detaillierte Analyse durch Code-Leser erforderlich ist.

Spezialisierungen von observer_ptr erfüllen die Anforderungen von CopyConstructible und CopyAssignable .

Typanforderungen
-
W darf kein Referenztyp sein, kann aber ein unvollständiger Typ sein.

Inhaltsverzeichnis

Mitgliedertypen

Mitgliedstyp Definition
element_type W , der Typ des von diesem observer_ptr beobachteten Objekts

Memberfunktionen

Konstruiert einen neuen observer_ptr
(öffentliche Elementfunktion)
(destructor)
(implizit deklariert)
zerstört einen observer_ptr
(öffentliche Elementfunktion)
operator=
(implizit deklariert)
implizit deklarierte Kopier- und Move-Zuweisungsoperatoren, die den gespeicherten Zeiger zuweisen
(öffentliche Elementfunktion)
Modifikatoren
gibt einen Zeiger auf das beobachtete Objekt zurück und beendet die Beobachtung
(öffentliche Elementfunktion)
ersetzt das beobachtete Objekt
(öffentliche Elementfunktion)
tauscht die beobachteten Objekte
(öffentliche Elementfunktion)
Beobachter
gibt einen Zeiger auf das beobachtete Objekt zurück
(öffentliche Elementfunktion)
prüft, ob ein assoziiertes beobachtetes Objekt existiert
(öffentliche Elementfunktion)
dereferenziert den Zeiger auf das beobachtete Objekt
(öffentliche Elementfunktion)
Konvertierungen
explizite Konvertierungsfunktion zum gespeicherten Zeiger
(öffentliche Elementfunktion)

Nicht-Member-Funktionen

erstellt einen observer_ptr , der ein Objekt überwacht
(Funktions-Template)
vergleicht mit einem anderen observer_ptr oder mit nullptr
(Funktions-Template)
spezialisiert den swap -Algorithmus
(Funktions-Template)

Hilfsklassen

Hash-Unterstützung für observer_ptr
(Klassen-Template-Spezialisierung)

Beispiel