deduction guides for
std::tuple
From cppreference.net
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::tuple
| Member functions | ||||
| Non-member functions | ||||
|
(until C++20)
(until C++20)
(until C++20)
(until C++20)
(until C++20)
(C++20)
|
||||
| Helper concepts | ||||
|
(C++23)
|
||||
| Helper classes | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
| Deduction guides (C++17) |
|
헤더 파일에 정의됨
<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부터) |
이러한 deduction guides 는 암시적 deduction guides가 놓치는 특수한 경우들, 특히 복사 불가능한 인수들과 배열에서 포인터로의 변환을 처리하기 위해 std::tuple 에 제공됩니다.
예제
이 코드 실행
#include <tuple> int main() { int a[2], b[3], c[4]; std::tuple t1{a, b, c}; // 이 경우 명시적 deduction guide가 사용됨 }