반응형
Tuple
기존 pair가 두 개의 자료만 담을 수 있다면 tuple은 pair의 확장으로 두 개를 초과하여 한번에 담을 수 있는 자료구조입니다.
Header
#include <tuple>
내장함수
- make_tuple : 튜플 생성 함수
- get : 튜플로부터 값 하나를 가져오는 함수
- swap : 연산자 튜플의 값을 다른 변수에 전달하는 함수
- tie : 한번에 tie안에 있는 인수들을 tuple로부터 차례대로 담을 수 있는 함수
Code
#include <tuple>
#include <iostream>
using namespace std;
int main(){
tuple <long long, int, double, char> t;
long long a;
int b;
double c;
char d;
t = make_tuple(123'456'789'123'456'789, 123456721, 2.0, 'A');
tie(a,b,c,d) = t;
//get -> tie와 다르게 한 번에 한개씩 tuple 원소를 뽑아옴
a = get<0>(t);
b = get<1>(t);
c = get<2>(t);
d = get<3>(t);
cout << "a, b, c, d : " << a << ' ' << b << ' ' << c << ' ' << d << '\n';
t = {223'456'789'123'456'789, 223456721, -2.0, 'C'}; //C++ 17 이후부터 가능
auto [e,f,g,h] = t;
cout << "e, f, g, h : " << e << ' ' << f << ' ' << g << ' ' << h << '\n';
}
'C++' 카테고리의 다른 글
(C++) - Split 함수 사용하기 (0) | 2021.05.10 |
---|---|
(C++) - cout,cin 실행 속도 높이기(시간초과 해결법) (6) | 2017.03.31 |
(C++) - KMP 알고리즘 (0) | 2017.03.12 |
(C++) - 비주얼 스투디오 코드(visual studio code) 빌드 해보기 (0) | 2017.03.05 |
(C++) - memset() : 배열 초기화 함수 사용법 (0) | 2016.12.06 |