Classe add_pointer

Crea un puntatore al tipo da un tipo specificato.

Sintassi

template <class T>
struct add_pointer;

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

Parametri

T
Tipo da modificare.

Osservazioni:

Il membro typedef type denomina lo stesso tipo di remove_reference<T>::type*. L'alias add_pointer_t è un collegamento per accedere al membro typedef type.

Poiché non è valido creare un puntatore da un riferimento, add_pointer rimuove il riferimento, se presente, dal tipo specificato prima di creare un puntatore al tipo. È pertanto possibile utilizzare un tipo con add_pointer senza doversi preoccupare che il tipo sia un riferimento.

Esempio

Nell'esempio seguente viene illustrato che add_pointer di un tipo equivale a un puntatore a tale 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 *

Requisiti

Intestazione:<type_traits>

Spazio dei nomi: std

Vedi anche

<type_traits>
Classe remove_pointer