일상 코딩
[C++/CPP] 19.02 여러개 값 반환 함수, multi return function 본문
C++/따배C++ 19강 모던 C++ 기능들
[C++/CPP] 19.02 여러개 값 반환 함수, multi return function
polarcompass 2021. 12. 11. 06:51728x90
#include<iostream>
#include<tuple>
#include<vector>
using namespace std;
tuple<int,int> my_func()
{
return tuple<int,int>(123,456);
}
auto my_func2()
{
return tuple(123,456,789,10);
}
int main(int argc, char const *argv[])
{
// tuple<int,int> result = my_func();
// cout << get<0>(result) << " " << get<1>(result) << " " << get<2>(result) << endl;
auto [a,b,c,d] = my_func2();
// cout << a << " " << b << " " << c << " " << d << endl;
vector<int> v;
// v.push_back(a);
// v.push_back(b);
// v.push_back(c);
// v.push_back(d);
// for( auto e : my_func2)
// v.push_back(e);
// 튜플을 통한 다중 반환값을 iterable로 받는 방법
std::tuple t{42, 'a', 4.2}; // Another C++17 feature: class template argument deduction
std::apply([](auto&&... args) {((std::cout << args << '\n'), ...);}, t);
for(auto e : v)
cout << e << " ";
cout << endl;
return 0;
}
728x90
'C++ > 따배C++ 19강 모던 C++ 기능들' 카테고리의 다른 글
[C++/CPP] 19.06. multi-threading Example inner product 벡터 내적을 통한 멀티 쓰레딩 예제 (0) | 2021.12.16 |
---|---|
[C++/CPP] 19.05 Task base, async, future, promise 사용법 (0) | 2021.12.15 |
[C++/CPP] 19.04 Race Condition and std::atomic, std::scoped_lock (0) | 2021.12.12 |
[C++/CPP] 19.03 std::thread와 멀티 쓰레딩 기초 (0) | 2021.12.12 |
[C++/CPP] 19.01 모던 C++ lambda function, std::function, std::bind, std::placeholders (0) | 2021.12.11 |