add_pointer-Klasse
Wandelt einen angegebenen Typ in einen Zeiger auf den Typ um.
Syntax
template <class T>
struct add_pointer;
template <class T>
using add_pointer_t = typename add_pointer<T>::type;
Parameter
T
Der zu ändernde Typ.
Hinweise
Das Element typedef
type
benennt denselben Typ wie remove_reference<T>::type*
. Der Alias add_pointer_t
ist eine Verknüpfung für den Zugriff auf das Element typedef
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);
}
add_pointer_t<int> == int *
Anforderungen
Header:<type_traits>
Namespace: std