Namensräume
Varianten
Aktionen

std::pointer_traits<Ptr>::pointer_to

Von cppreference.com
 
 
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
 
std::pointer_traits
Memberfunktionen
pointer_traits::pointer_to
(C++11)
 
Definiert in Header <memory>
static pointer
pointer_to( element_type& r );
(1) (seit C++11)
(Mitglied der Spezialisierung von pointer_traits<Ptr>)
(2)
static pointer
pointer_to( element_type& r ) noexcept;
(seit C++11)
(bis C++20)
(Mitglied der Spezialisierung von pointer_traits<T*>)
static constexpr pointer
pointer_to( element_type& r ) noexcept;
(seit C++20)
(Mitglied der Spezialisierung von pointer_traits<T*>)

Erzeugt einen dereferenzierbaren Zeiger oder ein zeigerähnliches Objekt ("Fancy Pointer") auf sein Argument.

1) Die Version dieser Funktion in der nicht-spezialisierten std::pointer_traits-Schablone ruft einfach Ptr::pointer_to(r) auf. Wenn Ptr keine statische Memberfunktion pointer_to bereitstellt, ist die Instanziierung dieser Funktion ein Kompilierungsfehler.
2) Die Version dieser Funktion in der Spezialisierung von std::pointer_traits für Zeigertypen gibt std::addressof(r) zurück.

Inhalt

[edit] Parameter

r - Referenz auf ein Objekt vom Typ element_type&, es sei denn, element_type ist void, in welchem Fall der Typ von r undefiniert ist.

[edit] Rückgabewert

Ein dereferenzierbarer Zeiger auf r vom Typ pointer_traits<>::pointer.

[edit] Ausnahmen

1) Undefiniert (typischerweise gleich wie Ptr::pointer_to).

[edit] Hinweise

Die Version dieser Funktion in der Boost.Intrusive Bibliothek gibt pointer(std::addressof(r)) zurück, wenn Ptr::pointer_to nicht existiert.

[edit] Siehe auch

(C++11)
ermöglicht den Zugriff auf die tatsächliche Adresse eines Objekts, auch wenn der &-Operator überladen ist
(Funktions-Template) [edit]
(bis C++20)
Ermittelt die Adresse eines Objekts, auch wenn operator& überladen ist
(public member function of std::allocator<T>) [edit]
[static] (C++20)(optional)
Ermittelt einen Roh-Zeiger aus einem Fancy Pointer (Inverse von pointer_to)
(public static member function) [edit]
ermöglicht den Zugriff auf einen Rohzeiger von einem zeigerähnlichen Typ
(Funktions-Template) [edit]