pair 사용법
우선 pair을 사용하기위해서는 utility 헤더파일이 필요한데 이미 vector 헤더파일에 포함되어있기 때문에
#include<vector>만 추가하면 사용할 수 있다.
pair<int, int> p; // int 타입 데이터 2개를 관리할 수 있는 pair 클래스의 p객체
pair<int, double> p;// int타입과 double 타입 데이터를 한번에 관리할 수 있는 pair 클래스의 p객체
pair<double, double> p;// 각 각의 double 타입 데이터를 한번에 관리할 수 있는 객체
pair<int, char> p;// int 타입과 char타입 테이터를 하나로 묶어서 관리할 수 있는 p객체
- pair<type1,type2> p
pair 클래스의 객체 p를 생성합니다. 객체 이름은 p가 아니어도 상관없다.
- p.first
p의 첫번째 인자를 반환한다. - p.second
p의 두번째 인자를 반환한다. - make_pair(값1, 값2)
값1, 값2를 한쌍으로 하는 pair를 만들어서 반환한다.
사용예를 들어보면
#include<iostream>
#include<vector>
using namespace std;
void compare(pair<int, int> a, pair<int, int> b)
{
if (a > b)
cout << "첫 번째 인자가 더 큼." << endl;
else
cout << "두 번째 인자가 더 큼." << endl<<endl;
}
int main()
{
pair<int, int> a;
pair<int, int> b;
a = make_pair(2, 4);
b = make_pair(1, 5);
cout << "<a의 first가 b의 frist보다 큰 경우>" << endl;
compare(a, b); //first를 비교
a = make_pair(2, 7);
b = make_pair(2, 10);
cout << "<a의 first와 b의 frist가 같은 경우>" << endl;
compare(a, b); //second를 비교
return 0;
}
실행결과
응용
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int main()
{
//////////선언////////
pair<int, int> p;
////////응용///////
p = make_pair(1, 2); // p = {1, 2}; 와 같음
vector<pair<string, int>> v;
queue<pair<string, int>> q;
v.push_back(make_pair("대한", 3));
q.push({"민국", 2});
auto temp = v.front(); // auto 변수 자료형 자동지정
cout << "p: " << p.first << "," << p.second << '\n'; // p객체 출력
for (int i = 0; i < v.size(); i++) // 벡터 인덱스로 출력
{
cout << "v: " << v[i].first << "," << v[i].second << '\n';
}
while (!q.empty()) // q출력
{
cout << "q: " << q.front().first << "," << q.front().second << '\n';
q.pop();
}
cout << "temp: " << temp.first << "," << temp.second << '\n'; // temp 출력
return 0;
}
실행결과
7568.cpp 참고
'Develop > Ps' 카테고리의 다른 글
[C++] STL list 사용법 (0) | 2023.10.22 |
---|---|
[C++] STL vector 사용법 (0) | 2023.07.18 |
[C++] STL sort함수 사용법 (0) | 2023.07.18 |
[C++] STL 스택(stack) 사용법 (0) | 2023.04.13 |
[CS/C++] STL 덱(Deque) 사용법 (0) | 2023.04.12 |
댓글