You can get the value of the nth 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?
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.
get returns a reference, rvalue reference or const reference depending on the type of its argument.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With