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)
Definido en el encabezado <memory>
static pointer
pointer_to ( element_type & r ) ;
(1) (desde C++11)
(miembro de la especialización pointer_traits<Ptr> )
(2)
static pointer
pointer_to ( element_type & r ) noexcept ;
(desde C++11)
(hasta C++20)
(miembro de la especialización pointer_traits<T*> )
static constexpr pointer
pointer_to ( element_type & r ) noexcept ;
(desde C++20)
(miembro de la especialización pointer_traits<T*> )

Construye un puntero o un objeto similar a un puntero que puede ser desreferenciado ( "fancy pointer" ) a su argumento.

1) La versión de esta función en la plantilla no especializada std::pointer_traits simplemente llama a Ptr :: pointer_to ( r ) , y si Ptr no proporciona una función miembro estática pointer_to , la instanciación de esta función es un error en tiempo de compilación.
2) La versión de esta función en la especialización de std::pointer_traits para tipos puntero retorna std:: addressof ( r ) .

Contenidos

Parámetros

r - referencia a un objeto de tipo element_type & , excepto si element_type es void , en cuyo caso el tipo de r no está especificado

Valor de retorno

Un puntero desreferenciable a r , del tipo pointer_traits <> :: pointer .

Excepciones

1) No especificado (normalmente igual que Ptr :: pointer_to ).

Notas

La versión de la biblioteca Boost.Intrusive de esta función retorna pointer ( std:: addressof ( r ) ) si Ptr :: pointer_to no existe.

Véase también

(C++11)
obtiene la dirección real de un objeto, incluso si el & operator está sobrecargado
(plantilla de función)
(until C++20)
obtiene la dirección de un objeto, incluso si operator & está sobrecargado
(función miembro pública de std::allocator<T> )
[static] (C++20) (optional)
obtiene un puntero crudo desde un puntero sofisticado (inverso de pointer_to )
(función miembro estática pública)
(C++20)
obtiene un puntero crudo desde un tipo similar a puntero
(plantilla de función)