서로 연관이 있는 데이터끼리 처리하기 쉽고 직관적이게 알 수 있게 값을 묶고 싶을 때 유용하다.
이러할 경우 직접 클래스나 구조체를 만들어서 묶을 수도 있지만,
2개나 3~4개이며 복잡한 반복적인 동작이 필요한 경우가 아닌 경우
c++에서는 pair과 tuple을 지원한다.
2개의 타입을 묶어주는 것을 의미한다.
pair는 기본적으로 존재해 따로 헤더를 추가하지 않아도 된다.
단, tuple과 함께 쓸 때에는 각각 헤더를 추가해야 한다.
#include <utility>
make_pair
: 페어를 만드는 함수int age;
string name;
personInfo = make_pair(age, name)
first
: 첫번째 값, second
: 두번째 값cout << "나이: " << personInfo.first << endl;
cout << "이름: " << personInfo.second << endl;
C++에서 tuple은 두 개 이상의 타입을 헤더 파일로 묶어주는 것을 의미한다. (pair 의 확장 버전)
#include <tuple>
make_tuple
: 튜플을 만드는 함수int age;
string name, gender;
personInfo = make_tuple(age, name, gender)
get
: 튜플로부터 값을 가져오는 함수cout << "나이: " << get<0>(personInfo) << endl;
cout << "이름: " << get<1>(personInfo) << endl;
cout << "성별: " << get<2>(personInfo) << endl;
swap
: 연산자 튜플의 값을 다른 변수에 전달하는 함수
tie
: 튜플의 값을 가져와 값을 따로 분류할 때 사용하는 함수
[Algorithm/C++] 튜플(Tuple) 사용하기
C++ 2쌍, 3쌍 값 묶기 - Pair, Tuple