[C++] pair 사용법
(글쓴날 : 2020.04.15)
* 이 글은 글쓴이가 공부한 내용을 정리하며 올리는 글입니다.
C++ pair 사용법
1) pair란?
pair란 STL에서 쌍으로 표현되는 자료형을 위해 제공되는 컨테이너이며, <utility> 헤더에 존재합니다.
(컴파일러, 버전 등 사용자의 환경에 따라 <utility> 헤더를 포함하지 않아도 사용이 가능한 경우가 있으나, 명시적으로 include 하는 것이 안전합니다.)
주로 좌표평면의 (x, y) 좌표를 저장하거나, 이차원 배열의 인덱스 등 두 개의 값을 동시에 엮어서 저장해야 할 때 사용되며, 특히 PS에서 자주 쓰이는 기본적인 STL 중 하나입니다.
2) pair 사용법
(1) <utility> 헤더 include 및 표준 네임스페이스 사용 선언
1
2
|
#include <utility>
using namespace std;
|
(2) pair 생성
기본 생성 방법은
pair<(type 1), (type 2)> (이름);
입니다.
ex)
1
|
pair<int, int> p1;
|
(3) pair 초기화 및 할당
pair의 초기화 및 할당 방법에는 두 가지 방식이 있습니다.
첫 번째 방식은 make_pair() 함수를 이용한 방법이며, 인자로 변수 혹은 값을 넘겨주면 됩니다.
(단, 생성 시 정의한 타입과 일치해야 합니다.)
ex)
1
2
|
pair<int, int> p2 = make_pair(1, 1);
p2 = make_pair(10, 10);
|
두 번째 방식은 {}를 이용한 방법이며, { (데이터 1), (데이터 2) }를 할당해 주시면 됩니다.
(마찬가지로, 생성 시 정의한 타입과 일치해야 합니다.)
ex)
1
2
|
pair<int, int> p3 = { 2, 2 };
p3 = { 20,20 };
|
(4) pair 값 참조
pair에 저장된 데이터를 불러오려면 순서대로 .first와 .second를 사용합니다.
(마치, 구조체의 멤버를 참조하는 방식과 같습니다.)
ex)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
pair<int, int> p1;
pair<int, int> p2 = make_pair(2, 2);
p2 = make_pair(20, 20);
pair<int, int> p3 = { 3, 3 };
p3 = { 30,30 };
p2.first = 10;
p3.second = 40;
cout << p1.first << ", " << p1.second << endl; // cout결과 : 0, 0
cout << p2.first << ", " << p2.second << endl; // cout결과 : 10, 20
cout << p3.first << ", " << p3.second << endl; // cout결과 : 30, 40
|
여기까지, C++의 pair 사용법에 대하여 알아봤습니다.
감사합니다!
'Deprecated' 카테고리의 다른 글
[Baekjoon Online Judge] 백준 2293번 동전 1(C++, Python) (0) | 2020.04.16 |
---|---|
[JavaScript] Arrow function 사용법 및 특징 (0) | 2020.04.16 |
[Baekjoon Online Judge] 백준 1912번 연속합(C++, Python) (0) | 2020.04.15 |
[Baekjoon Online Judge] 백준 11727번 2×n 타일링 2(C++, Python) (0) | 2020.04.14 |
[Baekjoon Online Judge] 백준 11726번 2×n 타일링(C++, Python) (0) | 2020.04.14 |