Freigeben über


add_pointer-Klasse

Wandelt einen angegebenen Typ in einen Zeiger auf den Typ um.

template<class Ty>
    struct add_pointer;

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

Parameter

  • Ty
    Der zu ändernde Typ.

Hinweise

Der typedef-Membertyp benennt den gleichen Typ mit remove_reference<T>::type*.

Da es unzulässig ist, einen Zeiger aus einem Verweis zu erstellen, wird der Verweis durch add_pointer ggf. vom angegebenen Typ entfernt, bevor der Zeiger auf den Typ erstellt wird. Daher können Sie einen Typ mit add_pointer verwenden, ohne sich überlegen zu müssen, ob der Typ ein Verweis ist.

Beispiel

Das folgende Beispiel zeigt, dass add_pointer eines Typs mit einem Zeiger auf diesen Typ identisch ist.

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

Anforderungen

Header: <type_traits>

Namespace: std

Siehe auch

Referenz

<type_traits>

remove_pointer-Klasse

Weitere Ressourcen

<type_traits> Member