std:: pair
|
헤더 파일에 정의됨
<utility>
|
||
|
template
<
class
T1,
|
||
std::pair
는 두 개의 서로 다른 타입의 객체를 하나의 단위로 저장할 수 있게 해주는 클래스 템플릿입니다. 페어는 두 개의 요소를 가진
std::tuple
의 특별한 경우입니다.
T1
또는
T2
중 어느 것도 비트리비얼 소멸자를 가진, 가능하게 cv 한정된 클래스 타입이나 그 배열이 아닌 경우,
pair
의 소멸자는 트리비얼합니다.
목차 |
템플릿 매개변수
| T1, T2 | - | pair가 저장하는 요소들의 타입. |
멤버 타입
| 멤버 타입 | 정의 |
first_type
|
T1
|
second_type
|
T2
|
멤버 객체
| 멤버 이름 | 타입 |
first
|
T1
|
second
|
T2
|
멤버 함수
새로운
pair
를 생성
(public member function) |
|
|
내용을 할당
(public member function) |
|
|
(C++11)
|
내용을 교환
(public member function) |
비멤버 함수
인자 타입에 의해 결정된 타입의
pair
객체를 생성함
(함수 템플릿) |
|
|
(C++20에서 제거됨)
(C++20에서 제거됨)
(C++20에서 제거됨)
(C++20에서 제거됨)
(C++20에서 제거됨)
(C++20)
|
pair
내의 값들을 사전식으로 비교함
(함수 템플릿) |
|
(C++11)
|
std::swap
알고리즘을 특수화함
(함수 템플릿) |
|
(C++11)
|
pair
의 요소에 접근함
(함수 템플릿) |
헬퍼 클래스
|
(C++11)
|
pair
의 크기를 구함
(클래스 템플릿 특수화) |
|
(C++11)
|
pair
의 요소 타입을 구함
(클래스 템플릿 특수화) |
두
pair
의 공통 참조 타입을 결정함
(클래스 템플릿 특수화) |
|
|
(C++23)
|
두
pair
의 공통 타입을 결정함
(클래스 템플릿 특수화) |
|
(C++23)
|
pair
에 대한 포맷팅 지원
(클래스 템플릿 특수화) |
헬퍼 특수화
|
template
<
class
T,
class
U
>
constexpr
bool
enable_nonlocking_formatter_optimization
<
std
::
pair
<
T, U
>>
=
|
(C++23부터) | |
이 특수화는
std::enable_nonlocking_formatter_optimization
가
std::print
와
std::println
의 효율적인 구현을 가능하게 하여,
pair
객체를 출력할 때
T
와
U
모두가 이를 활성화한 경우에 사용됩니다.
추론 가이드 (C++17부터)
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 2796 | C++98 |
pair
의 소멸자 트리비얼리티가 명시되지 않음
|
명시됨 |
참고 항목
|
(C++11)
|
서로 다른 타입의 요소들을 보관하는 고정 크기 컨테이너를 구현
(클래스 템플릿) |
|
(C++11)
|
lvalue 참조들의
tuple
을 생성하거나 tuple을 개별 객체들로 언패킹
(함수 템플릿) |