-
[C++] Tuple (복수의 값 반환)C++ 2019. 8. 22. 17:51
Tuple
함수는 일반적으로 하나의 반환값을 반환하는데, tuple이라는 클래스를 이용해서 복수의 값을 반환할 수 있다.
예) 복수의 값을 튜플로 반환
1234567891011121314151617181920#include <iostream>#include <tuple>using namespace std;tuple<int, double> getTuple(){int a = 10;double d = 3.14;return make_tuple(a, d);}int main(){tuple<int, double> my_tp = getTuple();cout << get<0>(my_tp) << endl;cout << get<1>(my_tp) << endl;return 0;}cs
반환형, 반환받는 변수의 타입을 같은 형태의 튜플로 설정하고,tuple 라이브러리에 있는 make_tuple() 함수를 사용하여 tuple을 생성해서 반환한다.
C++ 17에서의 튜플 사용
C++ 17에서는 더 간단한 형태로 tuple을 반환받을 수 있다.
1234567891011121314151617181920#include <iostream>#include <tuple>using namespace std;tuple<int, double> getTuple(){int a = 10;double d = 3.14;return make_tuple(a, d);}int main(){auto[a, d] = getTuple();cout << a << endl;cout << d << endl;return 0;}cs 값을 반환받는 변수도 똑같이 tuple의 형태로 선언할 필요 없이,
auto[a, b]라는 간단한 형태로 받아 a, b로 간단하게 사용할 수 있다.
참고자료
https://www.inflearn.com/course/following-c-plus/lecture/14720 (인프런, 홍정모의 따라배우는 C++(7.5 다양한 반환 값들))
'C++' 카테고리의 다른 글
[C++] this 포인터 (0) 2019.08.29 [C++] 함수 포인터 (0) 2019.08.27 [C++] const 위치에 따른 포인터의 의미 (0) 2019.07.18 [C++] 참조 변수(Reference variable) (0) 2019.07.18 [C++] 메모리와 동적할당(new, delete) (0) 2019.07.17