오직 두 객체(세개 이상 X )를 하나의 객체로 취급 할 수 있게 묶어주는 클래스
#include <utility> 포함
- 선언 방법
pair < type1,type2 > A
데이터 type1,2를 넣을 수 있는 Pair클래스 A를 만듬
1) 방법 1 : 선언과 함께 초기화
pair <int,string>var1 = make_pair(30,"test");
2) 방법 2 : 선언 후 할당
pair <int,int> var2;
var2 = make_pair(30,40);
3) 방법 3 : 방법1 + Auto활용
auto var3 = make_pair(30,40);
- 사용 방법
A.first : A의 type1의 정보를 반환
A.second : A의 type 2의 정보를 반환
make_pair(type1,type2); : type1,2 넣은 Pair 클래스를 반환
#include <iostream>
#include <utility>// std::Pair
using namespace std;
int pair_print_int(pair<int,int> &pPair)
{
// 사용 방법 - 2
cout<<"<int,int> &pPair"<<endl;
cout<<"first : "<<pPair.first<<endl;
cout<<"second : "<<pPair.second<<endl;
return 0;
}
int pair_print_str(pair<int,string> &pPair)
{
cout<<"pair<int,string>"<<endl;
cout<<"first : "<<pPair.first<<endl;
//string a = pPair.second;
//a.c_str()
cout<<"second : "<<(pPair.second).c_str()<<endl;
return 0;
}
int pair_print_pchar(pair<int,const char*> &pPair)
{
cout<<"pair<int,string>"<<endl;
cout<<"first : "<<pPair.first<<endl;
//string a = pPair.second;
//a.c_str()
cout<<"second : "<<pPair.second<<endl;
pPair.second = "1";
cout<<"second : "<<pPair.second<<endl;
return 0;
}
int main()
{
cout<<"************1************"<<endl;
// 선언 방법 - 1
pair <int,string>var1 = make_pair(30,"test");
//auto var = make_pair(30,"test",1); //2개 인자만 가능
//pair_print_str(var1);
cout<<"************2************"<<endl;
// 선언 방법 - 2
pair <int,int> var2;
var2 = make_pair(30,40);
//pair_print_int(var2);
// 사용 방법 - 1
cout<<"get<0> : "<<get<0>(var2)<<"get<1> : "<<get<1>(var2)<<endl;
cout<<"************3************"<<endl;
// 선언 방법 - 3
auto var3 = make_pair(30,40);
pair_print_int(var3);
cout<<"************4************"<<endl;
// 선언 방법 - 4
pair <int,int> var5;
var5.first = 1;
var5.second = 2;
pair_print_int(var5);
return 0; cout<<"************1************"<<endl;
// 선언 방법 - 1
pair <int,string>var1 = make_pair(30,"test");
//auto var = make_pair(30,"test",1); //2개 인자만 가능
//pair_print_str(var1);
cout<<"************2************"<<endl;
// 선언 방법 - 2
pair <int,int> var2;
var2 = make_pair(30,40);
//pair_print_int(var2);
// 사용 방법 - 1
cout<<"get<0> : "<<get<0>(var2)<<"get<1> : "<<get<1>(var2)<<endl;
cout<<"************3************"<<endl;
// 선언 방법 - 3
auto var3 = make_pair(30,40);
pair_print_int(var3);
cout<<"************4************"<<endl;
// 선언 방법 - 4
pair <int,int> var4;
var4.first = 1;
var4.second = 2;
pair_print_int(var4);
cout<<"************5************"<<endl;
auto var5 = make_pair(30,"abc");
//pair_print_str(var5);
//IntelliSense: "std::pair<int, std::string> &" 형식(const 한정 형식 아님)의 참조를 "std::pair<int, char *>" 형식의 값으로 초기화할 수 없습니다.
cout<<"get<0> : "<<get<0>(var5)<<"get<1> : "<<get<1>(var5)<<endl;
cout<<"************6************"<<endl;
pair<int,const char*> var6 = make_pair(30,"abc");
pair_print_pchar(var6);
}
Visual Studio 환경변수와 같은 Path설정 (0) | 2020.11.25 |
---|---|
Linux Windows 동적라이브러리(Dynamin Library) 둘다 혼용가능 설정 - dlsym,GetProcAddress (0) | 2020.11.25 |
[C,C++] 디버깅 (브레이크포인트)중단점 적중 문제 (0) | 2019.11.19 |
[C++] iterator 반복자 [vector 활용 예제] (0) | 2019.11.13 |
[C++] extern "C" 함수 Export (0) | 2019.11.07 |
댓글 영역