Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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