Namensräume
Varianten
Aktionen

std::experimental::shared_ptr

Von cppreference.com
 
 
 
 
 
Definiert im 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.

Inhalt

[bearbeiten] Member-Typen

Mitgliedertyp Definition
element_type std::remove_extent_t<T>

[bearbeiten] Member-Funktionen

erstellt einen neuen shared_ptr
(public member function) [bearbeiten]
Observer
gibt den gespeicherten Zeiger zurück
(public member function) [bearbeiten]
dereferenziert den gespeicherten Zeiger
(public member function) [bearbeiten]
bietet Indexzugriff auf das Array
(public member function) [bearbeiten]

[bearbeiten] Nicht-Member-Funktionen

wendet static_cast, dynamic_cast, const_cast oder reinterpret_cast auf den gespeicherten Zeiger an
(function template) [bearbeiten]

[bearbeiten] Hilfsklassen

Hash-Unterstützung für std::experimental::shared_ptr
(class template specialization) [bearbeiten]

Member und Nicht-Member-Funktionen identisch zu std::shared_ptr

Memberfunktionen

Die folgenden Member-Funktionen 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 besessene Objekt, wenn keine weiteren shared_ptrs darauf verweisen
(public member function of std::shared_ptr<T>) [bearbeiten]
weist den shared_ptr zu
(public member function of std::shared_ptr<T>) [bearbeiten]
Modifizierer
Ersetzt das verwaltete Objekt
(public member function of std::shared_ptr<T>) [bearbeiten]
Vertauscht die verwalteten Objekte
(public member function of std::shared_ptr<T>) [bearbeiten]
Observer
gibt die Anzahl der shared_ptr-Objekte zurück, die auf dasselbe verwaltete Objekt verweisen
(public member function of std::shared_ptr<T>) [bearbeiten]
(bis C++20)
prüft, ob das verwaltete Objekt nur vom aktuellen shared_ptr-Objekt verwaltet wird
(public member function of std::shared_ptr<T>) [bearbeiten]
prüft, ob der gespeicherte Zeiger nicht null ist
(public member function of std::shared_ptr<T>) [bearbeiten]
bietet inhaltsbasiertes Ordering von geteilten Zeigern
(öffentliche Memberfunktion von std::shared_ptr<T>) [bearbeiten]

Nicht-Member-Funktionen

Diese Nicht-Member-Funktionen sind im Namespace std::experimental deklariert und arbeiten mit std::experimental::shared_ptr anstelle von std::shared_ptr, verhalten sich aber ansonsten identisch zu der entsprechenden C++14-Funktion.

erstellt einen geteilten Zeiger, der ein neues Objekt verwaltet
(Funktionsschablone) [bearbeiten]
erstellt einen geteilten Zeiger, der ein neues Objekt verwaltet, das mithilfe eines Allokators zugewiesen wurde
(Funktionsschablone) [bearbeiten]
gibt den Deleter des angegebenen Typs zurück, falls vorhanden
(Funktionsschablone) [bearbeiten]
(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
(Funktionsschablone) [bearbeiten]
gibt den Wert des gespeicherten Zeigers an einen Ausgabestrom aus
(Funktionsschablone) [bearbeiten]
spezialisiert den Algorithmus std::swap
(Funktionsschablone) [bearbeiten]
spezialisiert atomare Operationen für std::shared_ptr
(Funktionsschablone) [bearbeiten]

Hilfsklassen-Templates

Diese Klassen-Templates sind im Namespace std::experimental deklariert und arbeiten mit std::experimental::shared_ptr und std::experimental::weak_ptr anstelle von std::shared_ptr und std::weak_ptr, verhalten sich aber ansonsten identisch zu dem entsprechenden C++14-Klassen-Template.

ermöglicht gemischttypige, besitzerbasierte Ordnung von Shared- und Weak-Zeigern
(Klassen-Template) [edit]
ermöglicht einem Objekt, einen auf sich selbst verweisenden shared_ptr zu erstellen
(Klassen-Template) [edit]

[bearbeiten] Beispiel