How to get reference to an element of a std::tuple?

c++, reference, stdtuple

Solution

`std::get` returns a reference(either const or non-const), so this works:

void fun(int &a) {
    a = 15;
}

void test() {
    std::tuple<int, char> foo{ 12, 'a' };
    fun(std::get<0>(foo));
}

Demo here.

Problem

You can get the value of the `n`th element of an `std::tuple` using `std::get<n>(tuple)`. But I need to pass one element of that tuple as reference to a function. How do I get the reference to an element of a `std::tuple`?

Original source