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