먼저, pair를 처음 접해본다면 옆에 링크를 보고 오길 바란다. ( 참고 : https://far-simple.tistory.com/24 )
사용법
선언 :
pair<int, pair<int, int > > 이름 |
저장 :
이름 = make_pair(값, make_pair(값, 값)); |
출력 :
cout << 이름.first << ' ' << 이름.second.first << ' ' << 이름.second.second; |
중첩 pair를 써서 총 3개의 값을 입력받을 때
이름 = make_pair(값, make_pair(값, 값));( pair<int, pair<int, int > > 이름 일 때 ) |
위와 같이 되어있다면 첫번째 값은 이름.first 이고, 두번째 값은 이름.second.first, 세번째 값은 이름.second.second 이다.
반대로
이름 = make_pair(make_pair(값, 값), 값);( pair<pair<int, int>, int > 이름 일 때 ) |
이런식이라면 첫번째, 두번째 값은 이름.first.first, 이름.first.second 이고, 세번째 값은 이름.second 이런식으로 이루어진다.
위와 같은 원리를 적용한다면 자신의 입맛에 맞게 pair를 적용시킬 수 있을 것이다.
마지막으로 이해 안되는 부분은 아래 중첩 pair 적용 된 소스코드를 보고 이해하기 바란다.
˙˙˙
소스코드
#include <iostream>
#include <utility>
using namespace std;
int main(){
pair<int, pair<int, int > > good;
good = make_pair(1, make_pair(2,3));
cout << good.first << ' ' << good.second.first << ' ' << good.second.second << '\n';
}
#include <iostream>
#include <utility>
using namespace std;
int main(){
pair<pair<int, int>, int > good;
good = make_pair(make_pair(1,2) , 3);
cout << good.first.first << ' ' << good.first.second << ' ' << good.second << '\n';
}
두 소스코드 모두 아래와 같은 결과가 출력된다.
1 2 3
'C++ 코딩 정리 > C++ STL' 카테고리의 다른 글
| [C++ STL] sort 를 통해 정렬해보자. (0) | 2020.03.26 |
|---|---|
| [C++ STL] Pair를 사용해보자 ( 구조체 안쓰고 두 자료형을 묶어보자! ) (0) | 2020.03.24 |
댓글