add_pointer (Clase)
Crea un puntero-a-tipo a partir de un tipo especificado.
template<class Ty>
struct add_pointer;
template<class T>
using add_pointer_t = typename add_pointer<T>::type;
Parámetros
- Ty
Tipo que se va a modificar.
Comentarios
El tipo miembro typedef denomina el mismo tipo como remove_reference<T>::type*.
Como no es válido crear punteros a partir de referencias, add_pointer quita la referencia, si existe, del tipo especificado antes de crear un puntero-a-tipo. Por consiguiente, se puede usar un tipo con add_pointer sin que preocupe el hecho de si el tipo es una referencia.
Ejemplo
En el ejemplo siguiente se muestra que add_pointer de un tipo es igual que un puntero a ese tipo.
#include <type_traits>
#include <iostream>
int main()
{
std::add_pointer_t<int> *p = (int **)0;
p = p; // to quiet "unused" warning
std::cout << "add_pointer_t<int> == "
<< typeid(*p).name() << std::endl;
return (0);
}
Requisitos
Encabezado: <type_traits>
Espacio de nombres: std