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