[ Web Proxy ]
URL:
Viewing: https://de.cppreference.com/cpp/memory/weak_ptr [Back]  [Original]

std::weak_ptr cppreference.com
cppreference.com
Namensrume
Varianten

std::weak_ptr

Aus cppreference.com
 
 
 
Dynamische Speicherverwaltung
Low-Level-Speicherverwaltung
Zuweiser
Original:
Allocators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
allocator
allocator_traits(C++11)
allocator_arg_t(C++11)
allocator_arg(C++11)
uses_allocator(C++11)
scoped_allocator_adaptor(C++11)
Initialisierter Speicher
Original:
Uninitialized storage
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
uninitialized_copy
uninitialized_copy_n(C++11)
uninitialized_fill
uninitialized_fill_n
raw_storage_iterator
get_temporary_buffer
return_temporary_buffer
Intelligente Zeiger
Original:
Smart pointers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
unique_ptr(C++11)
shared_ptr(C++11)
weak_ptr(C++11)
auto_ptr(veraltet)
owner_less(C++11)
enable_shared_from_this(C++11)
bad_weak_ptr(C++11)
default_delete(C++11)
Garbage Collection Untersttzung
Original:
Garbage collection support
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
declare_reachable(C++11)
undeclare_reachable(C++11)
declare_no_pointers(C++11)
undeclare_no_pointers(C++11)
pointer_safety(C++11)
get_pointer_safety(C++11)
Verschiedenes
Original:
Miscellaneous
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
pointer_traits(C++11)
addressof(C++11)
align(C++11)
C-Bibliothek
Original:
C Library
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
std::weak_ptr
Member-Funktionen
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
weak_ptr::weak_ptr
weak_ptr::~weak_ptr
weak_ptr::operator=
Modifiers
Original:
Modifiers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
weak_ptr::reset
weak_ptr::swap
Beobachter
Original:
Observers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
weak_ptr::use_count
weak_ptr::expired
weak_ptr::lock
weak_ptr::owner_before
Non-Member-Funktionen
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
std::swap
 
<tbody> </tbody>
definiert in Header <memory>
template< class T > class weak_ptr;
(seit C++11)

std::weak_ptr ist ein intelligenter Zeiger, der einen nichtbesitzenden ("schwachen") Verweis auf ein Objekt hlt, welches durch einen std::shared_ptr verwaltet wird. Er muss in einen std::shared_ptr umgewandelt werden, um auf das referenzierte Objekt zugreifen zu knnen.

std::weak_ptr bildet eine temporre Eigentmerschaft ab. Diese Eigentmerschaft erstreckt sich nur die Zeit des Zugriffs, falls das Objekt dann noch existiert. Auerhalb dieser Zeit, kann das Objekt jederzeit von jemand anderes zerstrt werden. std::weak_ptr wird verwendet, um die Zugriffsmglichkeit auf das Objekt zu speichern. Er mu in einen std::shared_ptr umgewandelt werden, um das Objekt vorbergehend in Besitz zunehmen. Falls whrend dieser Zeit, der ursprngliche std::shared_ptr zerstrt wird, so wird die Lebensdauer des verwalteten Objekten bis zur Zerstrung des temporren std::shared_ptrs verlngert.

Zustzlich kann std::weak_ptr dazu verwendet werden, Kreisabhngigkeiten zwischen std::shared_ptrs aufzubrechen.

Klassentypen

Typ Definition
element_type T

Methoden

erzeugt einen neuen weak_ptr
(ffentliche Elementfunktion) [edit]
zerstrt einen weak_ptr
(ffentliche Elementfunktion) [edit]
weist einen weak_ptr zu
(ffentliche Elementfunktion) [edit]
modifizierend
lst die Eigentumsverbindung zwischen weak_ptr und dem zuverwaltenden Objekts
(ffentliche Elementfunktion) [edit]
vertauscht die verwalteten Objekte
(ffentliche Elementfunktion) [edit]
informierend
gibt die Anzahl der shared_ptrs, die das selbe Objekte verwalten
(ffentliche Elementfunktion) [edit]
prft, ob das referenzierte Objekt bereits gelscht wurde
(ffentliche Elementfunktion) [edit]
erzeugt einen shared_ptr, der das referenzierte Objekt verwaltet
(ffentliche Elementfunktion) [edit]
erlaubt Sortierung der weak_ptr basierend auf dem Besitz
(ffentliche Elementfunktion) [edit]

Assoziierte Funktionen

Spezialisierung des std::swap-Algorithmus fr schwache Zeiger
(Funktions-Template) [edit]

Beispiele

Veranschaulicht, wie lock() verwendet werden mu, um die Gltigkeit des Zeigers zu gewhrleisten.

#include <iostream>
#include <memory>

std::weak_ptr<int> gw;

void f()
{
    if (auto spt = gw.lock()) { // Has to be copied into a shared_ptr before usage
	std::cout << *spt << "\n";
    }
    else {
        std::cout << "gw is expired\n";
    }
}
 
int main()
{
    {
        auto sp = std::make_shared<int>(42);
	gw = sp;

	f();
    }

    f();
}

Output:

42
gw is expired

Web Proxy Viewer  |  New URL  |  Original Page