add_pointer — Klasa
Tworzy wskaźnik do typu z określonego typu.
Składnia
template <class T>
struct add_pointer;
template <class T>
using add_pointer_t = typename add_pointer<T>::type;
Parametry
T
Typ do modyfikacji.
Uwagi
Składowa typedef
type
nazywa ten sam typ co remove_reference<T>::type*
. Alias add_pointer_t
jest skrótem do uzyskiwania dostępu do elementu członkowskiego typedef
type
.
Ponieważ wskaźnik z odwołania jest nieprawidłowy, add_pointer
usuwa odwołanie, jeśli istnieje, z określonego typu przed wprowadzeniem wskaźnika do typu. W związku z tym można użyć typu bez add_pointer
obaw o to, czy typ jest odwołaniem.
Przykład
W poniższym przykładzie pokazano, że add_pointer
typ jest taki sam jak wskaźnik do tego typu.
#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 *
Wymagania
Nagłówek:<type_traits>
Przestrzeń nazw: std