Namespaces
Variants

std::tuple를 위한 연역 가이드std::tuple

From ko.cppreference.net
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 폐지됨)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
Swap 및 타입 연산
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
공통 어휘 타입
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
헤더 <tuple>
template<class... UTypes>
tuple(UTypes...) -> tuple<UTypes...>;
에 정의됨 (1) (C++17부터)
template<class T1, class T2>
tuple(std::pair<T1, T2>) -> tuple<T1, T2>;
(2) (C++17부터)
template<class Alloc, class... UTypes>
tuple(std::allocator_arg_t, Alloc, UTypes...) -> tuple<UTypes...>;
(3) (C++17부터)
template<class Alloc, class T1, class T2>
tuple(std::allocator_arg_t, Alloc, std::pair<T1, T2>) -> tuple<T1, T2>;
(4) (C++17부터)
template<class Alloc, class... UTypes>
tuple(std::allocator_arg_t, Alloc, tuple<UTypes...>) -> tuple<UTypes...>;
(5) (C++17부터)

다음 연역 가이드는 std::tuple에 대해 암시적 연역 가이드가 처리하지 못하는 특수한 경우, 특히 비복사 가능 인수와 배열에서 포인터로의 변환을 처리하기 위해 제공됩니다.

예제

#include <tuple>
int main()
{
    int a[2], b[3], c[4];
    std::tuple t1{a, b, c}; // 이 경우 명시적 deduction guide가 사용됨
}