다음을 통해 공유


add_pointer 클래스

지정된 형식에서 포인터-형식을 만듭니다.

구문

template <class T>
struct add_pointer;

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

매개 변수

T
수정할 형식입니다.

설명

멤버 typedeftype 이름은 .와 같은 형식입니다 remove_reference<T>::type*. 별칭 add_pointer_t 은 멤버 typedeftype에 액세스하는 바로 가기입니다.

참조에서 포인터를 만드는 것은 잘못이기 때문에 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);
}
add_pointer_t<int> == int *

요구 사항

헤더:<type_traits>

네임스페이스: std

참고 항목

<type_traits>
remove_pointer 클래스