Compartilhar via


Classe add_pointer

Cria um ponteiro para tipo de um tipo especificado.

template<class Ty>
    struct add_pointer;

template<class T>
using add_pointer_t = typename add_pointer<T>::type;

Parâmetros

  • Ty
    O tipo a ser modificado.

Comentários

O tipo typedef do membro nomeia o mesmo tipo como remove_reference<T>::type*.

Uma vez que não é válido criar um ponteiro de uma referência, add_pointer remove a referência, se houver, do tipo especificado antes de criar um ponteiro para tipo. Consequentemente, você pode usar um tipo com add_pointer sem se preocupar se o tipo é uma referência.

Exemplo

O exemplo a seguir demonstra que add_pointer de um tipo é o mesmo que um ponteiro para esse 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

Cabeçalho: <type_traits>

Namespace: std

Consulte também

Referência

<type_traits>

Classe remove_pointer

Outros recursos

<type_traits> Membros