add_pointer — Klasa
Tworzy wskaźnik do typu z określonego typu.
template<class Ty>
struct add_pointer;
template<class T>
using add_pointer_t = typename add_pointer<T>::type;
Parametry
- Ty
Typ do modyfikacji.
Uwagi
Typ elementu członkowskiego typedef nazywa ten sam typ, co remove_reference<T>::type*.
Ponieważ tworzenie wskaźnika z odwołania jest nieprawidłowe, add_pointer usuwa odwołanie, jeśli istnieje, z określonego typu, zanim utworzy wskaźnik do typu.W związku z tym, można użyć typu z add_pointer, nie biorąc pod uwagę, czy typ jest odwołaniem.
Przykład
Poniższy przykład pokazuje, że add_pointer typu 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);
}
Wymagania
Nagłówek: <type_traits>
Przestrzeń nazw: std