std::pointer_traits<Ptr>::pointer_to
De cppreference.com
< cpp | memory | pointer traits
Definido en el archivo de 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*> ) | |
staticconstexpr pointer pointer_to( element_type& r )noexcept; | (desde C++20) (miembro de la especialización pointer_traits<T*> ) | |
Construye un puntero desreferenciable u objeto similar a un puntero ("puntero sofisticado") para 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 devuelve std::addressof(r)
Contenido |
[editar]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. |
[editar]Valor de retorno
Un puntero desreferenciable a r
, del tipo pointer_traits<>::pointer
.
[editar]Excepciones
1) Sin especificar (típicamente igual que Ptr::pointer_to)
[editar]Notas
La versión de la biblioteca Boost.Intrusive de esta función devuelve pointer(std::addressof(r)) si Ptr::pointer_to
no existe.
[editar]Véase también
(C++11) | Obtiene la dirección real de un objeto, incluso si el operador & está sobrecargado. (plantilla de función) |
(hasta C++20) | Obtiene la dirección de un objeto, incluso si operator& está sobrecargado. (función miembro pública de std::allocator ) |
[estático](C++20)(opcional) | Obtiene un puntero sin formato a partir de un puntero sofisticado (el inverso de pointer_to ) (función miembro estática pública) |
(C++20) | Obtiene un puntero sin formato de un tipo similar a un puntero. (plantilla de función) |