tuple

튜플의 뜻을 아시나요? 튜플은 사물의 유한한 순서를 뜻합니다. 튜플은 lisp, python, linda 등의 언어에서 두 개 이상의 순서대로 정렬된 서로 다른 값들의 모임을 정리할 때 이용합니다. 다른 객체 지향 언에서 사용되는 튜플을 C++11에서 채택하여 제공하는 것입니다.  tuple 키워드를 이용하여 꺽쇠 < > 안에 묶기 원하는 데이터 형을 나열합니다. 튜플은 함수에서 반환값이 두 개 이상일 경우에 사용하면 효과적입니다.

초기화

#include <tuple>
//1
tuple<int, string, char> t1(21, "Nov", 'M');
//2
tuple<int, string, char> t1;
t1 = make_tuple(21, "Nov", 'M');

원소 접근

tuple<int, string, char> t1(21,"Nov",'M');
cout << get<0>(t1) <<endl;
cout << get<1>(t1) <<endl;

원소 분해

tuple<int, string, char> t1(21,"Nov", 'M');

int x;
string y;
char z;

tie(x,y,z) = t1;

튜플 병합 & 변경

tuple<int, int> t1(1,2);
tuple<int, int> t2(3,4);
tuple<int, int, int, int> t3 = tuple_cat(t1, t2);
t1.swap(t2);