add_pointer (Clase)
TOC
Collapse the table of content
Expand the table of content
Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

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;

Ty

Tipo que se va a modificar.

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); 
    } 

add_pointer_t<int> == int *

Requisitos

Encabezado: <type_traits>

Espacio de nombres: std

Mostrar:
© 2016 Microsoft