0. Pair 개념
- Pair은 데이터 타입이 다를 수 있는 두 개의 값을 함께 결합될 때 사용된다.
- Pair 컨테이너는 'utility' 헤더에 선언되어 있으며, 두 개의 데이터 원소나 객체로 선언되어 있다.
- pair (data_type 1 , data_type 2) pair_name와 같은 형식을 갖는다.
1. Pair 활용
- 첫 번째 원소는 first로 참조되고, 두 번째 원소는 second로 참조된다.
- 순서는 (first, second)다.
- Pair은 할당, 복사, 비교가 가능하다.
- 맵, 해시맵에 할당된 객체 배열들의 타입의 기본은 Pair이다.
2. Pair 선언 코드
#include <iostream>
#include <utility>
using namespace std;
int main() {
pair<int, string> pair1;
pair1.first = 1; //int부분에 1삽입
pair1.second = "C++"; //string에 C++ 삽입
cout << pair1.first << ": " << pair1.second; //결과 1 : C++
}
3. Pair 초기화
#include <iostream>
#include <utility>
using namespace std;
int main() {
pair<int, string> pair1(1,"C++"); //선언과 동시에 초기화
cout << pair1.first << ": " << pair1.second;
}
3. Pair에서 제공하는 함수
3-1 make_pair()
- make_pair() : 이 함수는 데이터 타입을 명시하지 않고 값의 쌍을 만들게 한다.
- 문법 : Pair_name = make_pair(value1, value2)
3-2 swap
- swap : pair 객체간의 데이터 타입이 같아야 하며, 한 pair의 내용을 다른 pair 내용에 스왑한다.
- 문법 : pair1.swap(pair2)
4. Pair의 대소 비교
- == 연산자의 경우 : pair1, pair2의 first의 값이 같고, pair1, pair2의 second의 값이 같은지 확인한다.
- != 연산자의 경우 : pair1, pair2의 첫번째 값만 비교한다.
- = ,> 연산자의 경우 : pair1, pair2의 첫번째 값만 비교하고, 0과 1을 반환한다.
참고사이트
https://www.geeksforgeeks.org/pair-in-cpp-stl/
'C++' 카테고리의 다른 글
[C++] 벡터(vector) 인스턴스 삽입시 정렬 유지하기 (0) | 2022.06.16 |
---|---|
[C++] 정렬되지 않은 벡터(vector) O(1)시간으로 요소 삭제하기 (0) | 2022.06.15 |
[C++] STL의 개념, 구성요소, 특징, 장단점 (0) | 2022.06.10 |
[C++] 연산자 오버로딩의 개념, 활용, 주의점 (0) | 2022.06.07 |
[C++] C++과 JAVA의 차이점과 각 언어의 장단점 (0) | 2022.06.06 |