Namensräume
Varianten
Aktionen

std::shared_ptr<T>::owner_equal

Von cppreference.com
< cpp‎ | memory‎ | shared ptr
 
 
Speicherverwaltungsbibliothek
(nur Exposition*)
Algorithmen für uninitialisierten Speicher
(C++17)
(C++17)
(C++17)
Beschränkte uninitialisierte
Speicher-Algorithmen
C-Bibliothek

Allocatoren
Speicherressourcen
Unterstützung für Garbage Collection
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
(C++11)(bis C++23)
Uninitialisierter Speicher
Explizites Lebenszeitmanagement
 
 
template< class Y >
bool owner_equal( const std::shared_ptr<Y>& other ) const noexcept;
(1) (seit C++26)
template< class Y >
bool owner_equal( const std::weak_ptr<Y>& other ) const noexcept;
(2) (seit C++26)

Prüft, ob dieser shared_ptr und other den Besitz teilen oder beide leer sind. Der Vergleich ist so gestaltet, dass zwei intelligente Zeiger nur dann als äquivalent verglichen werden, wenn sie entweder beide leer sind oder wenn sie beide dasselbe Objekt besitzen, auch wenn die Werte der Zeiger, die durch get() erhalten werden, unterschiedlich sind (z. B. weil sie auf verschiedene Unterobjekte innerhalb desselben Objekts zeigen).

Die Memberfunktion owner_equal ist eine Äquivalenzrelation, so dass !owner_before(other) && !other.owner_before(*this) genau dann true ist, wenn owner_equal(other) true ist.

Diese Ordnung wird verwendet, um Shared- und Weak-Zeiger als Schlüssel in ungeordneten assoziativen Containern verwendbar zu machen, typischerweise über std::owner_equal.

Inhalt

[bearbeiten] Parameter

Sonstiges - der zu vergleichende std::shared_ptr oder std::weak_ptr

[bearbeiten] Rückgabewert

true, wenn *this und other den Besitz teilen oder beide leer sind. Andernfalls wird false zurückgegeben.

[bearbeiten] Hinweise

Feature-Test-Makro Wert Std Feature
__cpp_lib_smart_ptr_owner_equality 202306L (C++26) Ermöglicht die Verwendung von std::shared_ptr als Schlüssel in ungeordneten assoziativen Containern

[bearbeiten] Beispiel

[bearbeiten] Siehe auch

ermöglicht gemischttypige, besitzerbasierte Gleichheitsvergleiche von Shared- und Weak-Zeigern
(Klasse) [edit]