본문 바로가기
C++ 코딩 정리/C++ STL

[C++ STL] Pair를 사용해보자 ( 구조체 안쓰고 두 자료형을 묶어보자! )

by $# 2020. 3. 24.

Pair(페어) 란?

간단히 말해 두 자료형을 묶어주는 클래스이다.

 


언제 USE?

보통 두개 이상의 자료형을 묶을 때 구조체를 사용하는 데 , 묶을 자료형이 많이 없을 때 간단하게 pair로 묶어주면 편해 사용한다.

 

예시 

예를 들어 이름에다가 번호를 붙여준다고 가정해보자.

1번은 Kames

2번은 James

3번은 Bames

 

위 이름을 알파벳으로 정렬한다고 생각해보자.

정렬이 되면 Bames, James, Kames 순으로 될 것이다.

여기서 문제는 정렬이 되면 정렬하기 전 해당 번호를 못 찾게 된다는 것이다.

 

이때 Pair를 쓰는 것이다.

처음에 이름을 받을 때 이름과 번호를 pair로 묶어주면 그 후 알파벳으로 정렬 하게돼도 그 전 번호를 찾을 수 있을 것이다.


HOW?

헤더파일 : utility.h

 

선언 : 

pair<자료형, 자료형> 이름

값 저장 :

이름 = make_pair(값1, 값2);

 

값 출력 :

cout << 이름.first << ' ' << 이름.second << '\n';

 

이렇게만 보면 감이 안올 것이다.

 

다음은 예시 소스코드이다.

 

#include <iostream>
#include <utility>
using namespace std;
int main(){
	pair<int, string> good;
	int a; 
	string k;
	cin >> a >> k;
	good = make_pair(a,k);
	cout << good.first << ' ' << good.second << '\n'; 
}

 

//make_pair 안쓰고 값 저장 ( 참고 : https://far-simple.tistory.com/16 )

//중첩 pair 사용하는 법 ( 참고 : https://far-simple.tistory.com/25 )

댓글