Taene's

[C++] std::pair 본문

C++ 개념 공부/STL

[C++] std::pair

taene_ 2023. 9. 3. 12:58

<사용 라이브러리>

#include <utility>

 

<선언문>

pair < 자료형, 자료형 > p;

 

<함수>

make_pair(자료형, 자료형);	//이 함수는 데이터 타입을 명시하지 않고 값의 쌍을 만들게 한다.
				//Pair_name = make_pair(value1, value2)
                            
pair1.swap(pair2);       	//한 pair의 내용을 다른 pair 내용에 스왑한다.
				//pair 객체간의 데이터 타입이 같아야 한다.
				//pair1.swap(pair2)

 

<조회>

- first : 첫번째 인자를 반환

- second : 두번째 인자를 반환

 

<응용>

vector<pair<int, int>> v;
v.push_back(make_pair(1, 2));  //보통 좌표값을 배열에 저장할때 사용

queue<pair<string, int>> q;
q.push({"안녕", 2});

 

<비교>

- 연산자를 통해 2개의 pair를 비교할 수 있다.
- pair의 첫 번째 원소끼리 먼저 비교하고, false면 두 번째 원소끼리 비교한다.
- 또한, sort를 통해 정렬할 때에도 같은 방법을 사용한다.

  • == 연산자의 경우   : pair1, pair2의 first의 값이 같고, pair1, pair2의 second의 값이 같은지 확인한다.
  • != 연산자의 경우    : pair1, pair2의 첫번째 값만 비교한다.
  • = ,> 연산자의 경우 : pair1, pair2의 첫번째 값만 비교하고, 0과 1을 반환한다.   

'C++ 개념 공부 > STL' 카테고리의 다른 글

[C++] std::memset  (0) 2024.03.15
[C++] std::map  (0) 2023.09.11
[C++] std::stack  (0) 2023.09.04
[C++] std::queue  (0) 2023.09.02
[C++] std::sort  (0) 2023.09.02