Unpacking Tuples in C++14
aherrmann.github.io
aherrmann.github.io
tuple<int, bool, char> t = make_tuple(1, true, 'a');
int n = get<0>(t);
bool b = get<1>(t);
char c = get<2>(t);
can be written as int n;
bool b;
char c;
std::tie(n,b,c) = make_tuple(1, true, 'a');
This is not necessarily better or more dynamic, but at least it looks more pythonic (to me). One can even write std::tie(n,b,std::ignore) = make_tuple(1, true, 'a');
if not all results are needed!Without pattern matching - ie structural decomposition - this is prohibitively unreadable and negates any benefits of better code reuse.
However tuples, do not appear to enable that.