Поделиться через


Класс add_pointer

Создает указатель на тип из указанного типа.

template<class Ty>
    struct add_pointer;

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

Параметры

  • Ty
    Тип для изменения.

Заметки

Тип typedef члена именует тот же тип как remove_reference<T>::type*.

Поскольку его нельзя использовать для создания указателя из ссылки, add_pointer удаляет ссылку (если таковая имеется) из указанного типа, прежде чем создать указатель на тип. Следовательно, можно использовать тип с add_pointer вне зависимости от того, является ли данный тип ссылкой.

Пример

В следующем примере показано, что add_pointer типа аналогичен указателю на данный тип.

#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); 
    } 
 
  

Требования

Заголовок: <type_traits>

Пространство имен: std

См. также

Ссылки

<type_traits>

Класс remove_pointer

Другие ресурсы

Члены <type_traits>