Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Makes a pointer-to-type from a specified type.
Syntax
template <class T>
struct add_pointer;
template <class T>
using add_pointer_t = typename add_pointer<T>::type;
Parameters
T
The type to modify.
Remarks
The member typedef type names the same type as remove_reference<T>::type*. The alias add_pointer_t is a shortcut to access the member typedef type.
Because it is invalid to make a pointer from a reference, add_pointer removes the reference, if any, from the specified type before it makes a pointer-to-type. Consequently, you can use a type with add_pointer without being concerned about whether the type is a reference.
Example
The following example demonstrates that add_pointer of a type is the same as a pointer to that type.
#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 *
Requirements
Header: <type_traits>
Namespace: std