728x90
반응형
함수를 이용할 때 연관된 내용을 동일한 개수만큼 전달하거나 관리해야 할 때 묶어서 사용하곤 한다. 자주 사용되는 경우라면 struct나 class를 이용하여 작업을 할 수도 있지만 임의로 묶어 사용할 때에는 비효율적이다. 이런 점을 해결하기 위해서 C++에서는 pair와 tuple을 지원한다.
pair : 2개의 값을 묶고 싶을 때,
tuple : 3개의 값을 묶고 싶을 때,
pair의 경우에는 웬만한 STL 헤드 파일을 첨부하면 사용할 수 있지만 tuple의 경우에는 <tuple>을 include 해줘야 한다.
pair의 경우에는 make_pair를 tuple은 make_tuple을 사용하면 된다.
pair는 first, second를 참조하면 되고, tuple은 get을 이용해야 한다.
#include <tuple>
#include <iostream>
using namespace std;
int main()
{
pair<int, double> pa = make_pair(1, 1.0);
cout << pa.first << ":" << pa.second << endl;
tuple<int, double, string> tu = make_tuple(1, 1.0, "ok");
cout << get<0>(tu) << ":" << get<1>(tu) << ":" << get<2>(tu).c_str() << endl;
return 0;
}
728x90
반응형
'Program Language > C & C++' 카테고리의 다른 글
[C++] std::bind 시 변수 메모리 유지 불가 (2) | 2021.12.02 |
---|---|
[C++] wsprintf → swprintf_s (float 문제 해결) (0) | 2021.11.16 |
[C++] file in/out (0) | 2021.11.08 |
[C++] RAII Pattern (2) | 2021.10.26 |
[C++] std::thread 종료 (abort() has been called) (0) | 2021.10.26 |