Sdílet prostřednictvím


add_pointer – třída

Vytvoří ukazatel na typ z určeného typu.

Syntaxe

template <class T>
struct add_pointer;

template <class T>
using add_pointer_t = typename add_pointer<T>::type;

Parametry

T
Typ, který chcete upravit.

Poznámky

typedef type Člen pojmenuje stejný typ jako remove_reference<T>::type*. Alias add_pointer_t je zástupcem pro přístup k členu typedef type.

Vzhledem k tomu, že je neplatný, aby byl ukazatel z odkazu, add_pointer odebere odkaz z zadaného typu předtím, než vytvoří ukazatel na typ. V důsledku toho můžete použít typ bez add_pointer obav o to, zda je typ odkazem.

Příklad

Následující příklad ukazuje, že add_pointer typ je stejný jako ukazatel na tento typ.

#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 *

Požadavky

Header:<type_traits>

Namespace: std

Viz také

<type_traits>
remove_pointer – třída