Namespaces
Variants

std::experimental:: shared_ptr

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

std::experimental::shared_ptr ist eine modifizierte Version von std::shared_ptr , die Unterstützung für Arrays hinzufügt.

Inhaltsverzeichnis

Mitgliedertypen

Mitgliedtyp Definition
element_type std:: remove_extent_t < T >

Memberfunktionen

konstruiert neuen shared_ptr
(öffentliche Elementfunktion)
Beobachter
gibt den gespeicherten Zeiger zurück
(öffentliche Elementfunktion)
dereferenziert den gespeicherten Zeiger
(öffentliche Elementfunktion)
bietet Indexzugriff auf das Array
(öffentliche Elementfunktion)

Nicht-Member-Funktionen

wendet static_cast , dynamic_cast , const_cast oder reinterpret_cast auf den gespeicherten Zeiger an
(Funktionstemplate)

Hilfsklassen

Hash-Unterstützung für std::experimental::shared_ptr
(Klassen-Template-Spezialisierung)

Mitglieder und Nicht-Mitglieder identisch zu std:: shared_ptr

Memberfunktionen

Die folgenden Memberfunktionen arbeiten mit std::experimental::shared_ptr anstelle von std::shared_ptr und std::experimental::weak_ptr anstelle von std::weak_ptr . Das Verhalten ist ansonsten identisch.

zerstört das verwaltete Objekt, falls keine weiteren shared_ptr darauf verweisen
(öffentliche Elementfunktion von std::shared_ptr<T> )
weist den shared_ptr zu
(öffentliche Elementfunktion von std::shared_ptr<T> )
Modifikatoren
ersetzt das verwaltete Objekt
(öffentliche Elementfunktion von std::shared_ptr<T> )
tauscht die verwalteten Objekte
(öffentliche Elementfunktion von std::shared_ptr<T> )
Beobachter
gibt die Anzahl der shared_ptr -Objekte zurück, die auf dasselbe verwaltete Objekt verweisen
(öffentliche Elementfunktion von std::shared_ptr<T> )
(bis C++20)
prüft, ob das verwaltete Objekt nur vom aktuellen shared_ptr -Objekt verwaltet wird
(öffentliche Elementfunktion von std::shared_ptr<T> )
prüft, ob der gespeicherte Zeiger nicht null ist
(öffentliche Elementfunktion von std::shared_ptr<T> )
bietet besitzerbasierte Ordnung von Shared Pointern
(öffentliche Elementfunktion von std::shared_ptr<T> )

Nicht-Member-Funktionen

Diese nicht-Member-Funktionen sind im std::experimental -Namespace deklariert und arbeiten mit std::experimental::shared_ptr anstatt mit std::shared_ptr , verhalten sich aber ansonsten identisch zur entsprechenden C++14-Funktion.

Erstellt einen Shared Pointer, der ein neues Objekt verwaltet
(Funktions-Template)
Erstellt einen Shared Pointer, der ein neues Objekt verwaltet, das mit einem Allokator alloziert wurde
(Funktions-Template)
Gibt den Deleter des angegebenen Typs zurück, falls vorhanden
(Funktions-Template)
(entfernt in C++20) (entfernt in C++20) (entfernt in C++20) (entfernt in C++20) (entfernt in C++20) (C++20)
Vergleicht mit einem anderen shared_ptr oder mit nullptr
(Funktions-Template)
Gibt den Wert des gespeicherten Zeigers auf einen Ausgabestrom aus
(Funktions-Template)
Spezialisiert den std::swap Algorithmus
(Funktions-Template)
spezialisiert atomare Operationen für std::shared_ptr
(Funktionstemplate)

Helfer-Klassen-Templates

Diese Klassentemplates werden im std::experimental -Namespace deklariert und arbeiten mit std::experimental::shared_ptr und std::experimental::weak_ptr anstatt mit std::shared_ptr und std::weak_ptr , verhalten sich ansonsten jedoch identisch zum entsprechenden C++14-Klassentemplate.

(C++11)
bietet gemischte owner-basierte Ordnung von Shared- und Weak-Pointern
(Klassentemplate)
ermöglicht einem Objekt die Erstellung eines shared_ptr , der auf sich selbst verweist
(Klassentemplate)

Beispiel