Namespaces
Variants

std::pointer_traits<Ptr>:: pointer_to

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
std::pointer_traits
Member functions
pointer_traits::pointer_to
(C++11)
(C++20) (optional)
Défini dans l'en-tête <memory>
static pointer
pointer_to ( element_type & r ) ;
(1) (depuis C++11)
(membre de la spécialisation pointer_traits<Ptr> )
(2)
static pointer
pointer_to ( element_type & r ) noexcept ;
(depuis C++11)
(jusqu'à C++20)
(membre de la spécialisation pointer_traits<T*> )
static constexpr pointer
pointer_to ( element_type & r ) noexcept ;
(depuis C++20)
(membre de la spécialisation pointer_traits<T*> )

Construit un pointeur déréférençable ou un objet de type pointeur ( "fancy pointer" ) vers son argument.

1) La version de cette fonction dans le modèle non spécialisé std::pointer_traits appelle simplement Ptr :: pointer_to ( r ) , et si Ptr ne fournit pas de fonction membre statique pointer_to , l'instanciation de cette fonction est une erreur de compilation.
2) La version de cette fonction dans la spécialisation de std::pointer_traits pour les types pointeur retourne std:: addressof ( r ) .

Table des matières

Paramètres

r - référence à un objet de type element_type & , sauf si element_type est void , auquel cas le type de r n'est pas spécifié

Valeur de retour

Un pointeur déréférençable vers r , du type pointer_traits <> :: pointer .

Exceptions

1) Non spécifié (généralement identique à Ptr :: pointer_to ).

Notes

La version de la bibliothèque Boost.Intrusive de cette fonction retourne pointer ( std:: addressof ( r ) ) si Ptr :: pointer_to n'existe pas.

Voir aussi

(C++11)
obtient l'adresse réelle d'un objet, même si l'opérateur & est surchargé
(modèle de fonction)
(until C++20)
obtient l'adresse d'un objet, même si operator & est surchargé
(fonction membre publique de std::allocator<T> )
[static] (C++20) (optional)
obtient un pointeur brut à partir d'un pointeur intelligent (inverse de pointer_to )
(fonction membre statique publique)
(C++20)
obtient un pointeur brut à partir d'un type similaire à un pointeur
(modèle de fonction)