다음을 통해 공유


make_pair

pair 형식의 개체를 만드는 데 사용할 수 있는 템플릿 함수. 여기서 구성 요소 형식은 매개 변수로 전달된 데이터 형식을 기준으로 자동 선택됩니다.

template<class Type1, class Type2>    pair<Type1, Type2> make_pair(Type1& Val1, Type2& Val2); template<class Type1, class Type2>    pair<Type1, Type2> make_pair(Type1& Val1, Type2&& Val2);  template<class Type1, class Type2>    pair<Type1, Type2> make_pair(Type1&& Val1, Type2& Val2);  template<class Type1, class Type2>    pair<Type1, Type2> make_pair(Type1&& Val1, Type2&& Val2);

매개 변수

  • Val1
    pair의 첫 번째 요소를 초기화하는 값

  • Val2
    pair의 두 번째 요소를 초기화하는 값

반환 값

생성된 쌍 개체: pair<Type1, Type2>(Val1, Val2)

설명

make_pairreference_wrapper 클래스 형식의 개체를 참조 형식으로 변환하고 감소하는 배열 및 함수를 포인터로 변환합니다.

반환된 pair 개체에서 Type1은 다음과 같이 결정됩니다.

  • 입력 형식 Type1이 reference_wrapper<X>인 경우 반환된 형식 Type1은 X&입니다.

  • 그렇지 않은 경우, 반환된 형식 Type1은 decay<Type1>::type입니다. decay 클래스가 지원되지 않는 경우 반환된 형식 Type1은 입력 형식 Type1과 동일합니다.

반환된 형식 Type2는 마찬가지로 입력 형식 Type2에서 결정됩니다.

make_pair의 장점 하나는 저장되는 개체 형식이 컴파일러에서 자동으로 저장되며 명시적으로 지정하지 않아도 된다는 점입니다. make_pair를 사용할 경우 불필요하게 장황해지고 컴파일 문제의 원인이 될 수 있는 복잡한 rvalue 참조 문제만 더해지므로 make_pair<int, int>(1, 2) 등의 명시적 템플릿 인수를 사용하지 마십시오. 이 예제에서 올바른 구문은 make_pair(1, 2)입니다.

make_pair 도우미 함수도 입력 매개 변수로 한 쌍이 필요한 함수에 두 값을 전달할 수 있습니다.

예제

도우미 함수 make_pair를 사용하여 쌍을 선언하고 초기화하는 방법을 알아보려면 pair 구조체를 참조하십시오.

요구 사항

헤더: <utility>

네임스페이스: std

참고 항목

참조

<utility>

Lvalue 및 Rvalue