상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - C++에서 std::pair의 사용법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`std::pair`는 C++ STL(Standard Template Library)에서 제공하는 유용한 템플릿 클래스입니다. 두 개의 서로 다른 타입의 값을 하나의 객체로 묶어주는 역할을 합니다. `std::pair`는 주로 두 개의 관련된 데이터를 함께 저장하고 싶을 때 사용됩니다. 예를 들어, 키-값 <a href='https://sangseek.com/sangseeks/쌍/ko'>쌍</a>을 저장할 때 유용합니다. 기본 사용법 `std::pair`는 `<<a href='https://sangseek.com/sangseeks/utility/ko'>utility</a>>` 헤더 파일에 정의되어 있으므로, 사용하기 위해서는 해당 헤더를 포함해야 합니다. ```cpp include <iostream> include <utility> // std::pair include <string> int main() { // std::pair 선언 std::pair<int, <a href='https://sangseek.com/sangseeks/std::string/ko'>std::string</a>> myPair(1, "Hello"); // 값 접근 std::cout << "First: " << myPair.first << ", Second: " << myPair.second << std::endl; return 0; } ``` 위의 예제에서 `myPair`는 `int` 타입의 첫 번째 값과 `std::string` 타입의 두 번째 값을 가지고 있습니다. `first`와 `second` 멤버를 통해 각각의 값에 접근할 수 있습니다. 생성자 `std::pair`는 다양한 생성자를 제공합니다. 기본 생성자, 복사 생성자, 이동 생성자 등을 사용할 수 있습니다. ```cpp std::pair<int, double> p1; // 기본 생성자 std::pair<int, double> p2(1, 2.5); // 값으로 초기화 std::pair<int, double> p3(p2); // 복사 생성자 std::pair<int, double> p4(std::move(p2)); // 이동 생성자 ``` 비교 연산자 `std::pair`는 비교 연산자도 지원합니다. 두 쌍을 비교할 때는 `first` 값을 먼저 비교하고, `first`가 같으면 `second` 값을 비교합니다. ```cpp std::pair<int, int> a(1, 2); std::pair<int, int> b(1, 3); std::pair<int, int> c(2, 1); std::cout << (a < b) << std::endl; // true std::cout << (a < c) << std::endl; // true std::cout << (b < c) << std::endl; // true ``` std::<a href='https://sangseek.com/sangseeks/make_pair/ko'>make_pair</a> `std::make_pair` 함수를 사용하면 `std::pair` 객체를 쉽게 생성할 수 있습니다. 이 함수는 타입 추론을 통해 자동으로 타입을 결정합니다. ```cpp auto myPair = std::make_pair(1, "Hello"); std::cout << "First: " << myPair.first << ", Second: " << myPair.second << std::endl; ``` std::pair와 <a href='https://sangseek.com/sangseeks/std::map/ko'>std::map</a> `std::pair`는 `std::map`과 같은 연관 컨테이너에서 키-값 쌍을 저장하는 데 자주 사용됩니다. `std::map`의 각 요소는 `std::pair<const Key, T>` 형태로 저장됩니다. ```cpp include <map> std::map<int, std::string> myMap; myMap.insert(std::make_pair(1, "One")); myMap.insert(std::make_pair(2, "Two")); for (const auto& pair : myMap) { std::cout << pair.first << ": " << pair.second << std::endl; } ``` 결론 `std::pair`는 두 개의 관련된 값을 함께 묶어 관리할 수 있는 간단하고 유용한 방법을 제공합니다. 다양한 타입을 지원하며, STL의 여러 컨테이너와 함께 사용될 수 있습니다. `std::make_pair`를 활용하면 더욱 간편하게 사용할 수 있습니다. 이러한 특성 덕분에 `std::pair`는 C++ 프로그래밍에서 매우 유용한 도구입니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기