본문 바로가기

C++

[C++] Pair 개념, 활용, 선언, 초기화, 대소 비교

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/