C++/유용한 도구

유틸리티 클래스 - pair

coding-potato 2025. 1. 9. 15:53

pair

두 개의 값(자료형이 동일할 필요 없음)을 하나의 객체로 묶어 저장할 수 있는 유틸리티 클래스입니다. 주로 함수 반환값으로 두 개의 관련된 값을 반환하거나, 연관된 데이터를 묶어서 표현하는 데 사용됩니다. std::pair의 확장된 형태도 있습니다. 유틸리티 클래스 std::tuple에 대해 아래 글에서 확인하세요.

https://coding-potato-record.tistory.com/274

 

유틸리티 클래스 - tuple

tuple서로 다른 데이터 타입의 여러 값을 하나의 객체로 묶어 저장할 수 있는 유틸리티 클래스입니다. pair의 확장 버전으로, 두 개 이상의 값을 저장할 수 있으며, 값의 순서와 개수를 고정합니다.

coding-potato-record.tistory.com

1. Pair의 특징

  • 두 값의 묶음: 두 개의 다른 데이터 타입을 하나로 묶어서 저장 가능.
  • 템플릿 클래스: 저장할 데이터의 타입을 컴파일 시간에 지정.
  • 비교 연산: 두 pair 객체는 사전순으로 비교 가능(<, >, == 등).
  • 유연성: 다양한 자료형을 조합하여 유연한 데이터 표현 가능.

2. 헤더파일

std::pair를 사용하려면 <deque> 헤더 파일을 포함해야 합니다.

3. 사용 예제

4. 주요 함수

함수명 설명 예제
pair<T1, T2>() 빈 pair 객체 생성 std::pair<int, double> p;
pair<T1, T2>(value1, value2) 초기값을 지정해 pair 생성 std::pair<int, int> p(1, 2);
make_pair(value1, value2) 편리하게 pair 생성 auto p = std::make_pair(1, "text");
swap(p1, p2) 두 pair 객체의 값을 교환 std::swap(p1, p2);

5. 주요 연산자

연산자 설명 예제
p.first 첫 번째 요소에 접근 std::cout << p.first;
p.second 두 번째 요소에 접근 std::cout << p.second;
==, != 두 pair 객체가 같은지 또는 다른지 비교 if (p1 == p2)
<, <=, >, >= 두 pair 객체를 사전순으로 비교 if (p1 < p2)

'C++ > 유용한 도구' 카테고리의 다른 글

템플릿(template)  (0) 2025.01.10
유틸리티 클래스 - tuple  (0) 2025.01.09