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 成员