반응형
🦥 Pair란?
두 객체를 하나로 묶어주는 클래스로, 쌍을 표현할 때 사용
좌표 평면에서 (x, y)를 묶어주는 것과 같을 때 사용하면 되겠다.
#include <utility>
🦥 생성자와 초기화
만약 int와 string을 쌍으로 하는 pair을 생성하려고 한다면
1. 선언 후 초기화
#include <utility> pair<int, string> p; p.first = 1; p.second = "choiiis";
2. make_pair
#include <utility> pair<int, string> p = make_pair(1,"choiiis");
3. 그 외의 초기화 방법
#include <utility> pair<int, string> p1(1, "choiiis"); pair<int, string> p2(a);
🦥 원소는 first, second로
pair의 두 객체 중 첫 번째 원소는 first로, 두 번째 원소는 second라고 한다. 따라서, p.first는 첫 번째 원소를 반환하고, p.second는 두 번째 원소를 반환한다.
#include <utility>
pair<int, string> p(1, "choiiis");
cout << "p.first: " << p.first << endl;
cout << "p.second: " << p.second << endl;결과
p.first: 1
p.second: choiiis
🦥 pair 비교 (compare)
pair는 연산자를 통해 비교할 수 있다.
첫 번째 원소를 먼저 비교하고, false면 두 번째 원소를 비교한다.
또한, sort를 통해 정렬할 때에도 같은 방법으로 통해 정렬한다.
#include <utility>
pair<int, string> a(1, "choiiis");
pair<int, string> b(2, "choiiis");
cout << "a < b : " << (a < b) << endl;
cout << "a > b : " << (a > b) << endl;
cout << "a == b : " << (a == b) << endl;
cout << "a != b : " << (a != b) << endl;결과
a < b : 1
a > b : 0
a == b : 0
a != b : 1
반응형
'개발자 > C++(Linux, Window)' 카테고리의 다른 글
[C++] Iterator에 대해서 (0) | 2021.09.23 |
---|---|
[C++][STL] map 정리 (0) | 2021.09.23 |
C++ 주요 STL 한 방 정리 (Container, Adapter 등등) (0) | 2021.09.20 |
C++ : 범위 기반 for 반복문 (0) | 2021.09.20 |
[C++] STL 2차원 vector 정의 및 사용 (0) | 2021.09.20 |