Udostępnij za pośrednictwem


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 typedeftype nazywa ten sam typ co remove_reference<T>::type*. Alias add_pointer_t jest skrótem do uzyskiwania dostępu do elementu członkowskiego typedeftype.

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

Zobacz też

<type_traits>
remove_pointer, klasa