std::pointer_traits<Ptr>::pointer_to
Von cppreference.com
< cpp | memory | pointer traits
| 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) |
| (bis C++20) |
Ermittelt die Adresse eines Objekts, auch wenn operator& überladen ist (public member function of std::allocator<T>) |
| [static] (C++20)(optional) |
Ermittelt einen Roh-Zeiger aus einem Fancy Pointer (Inverse von pointer_to)(public static member function) |
| (C++20) |
ermöglicht den Zugriff auf einen Rohzeiger von einem zeigerähnlichen Typ (Funktions-Template) |