Как получить ссылку на элемент std :: tuple?

Вы можете получить значение nй элемент std::tuple с помощью std::get<n>(tuple), Но мне нужно передать один элемент этого кортежа как ссылку на функцию.

Как получить ссылку на элемент std::tuple?

6

Решение

std::get возвращает ссылку (постоянную или неконстантную), так что это работает:

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

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

демонстрация Вот.

8

Другие решения

get возвращает ссылку, ссылку на значение или константную ссылку в зависимости от типа аргумента.

1

std::get возвращает ссылку на элемент в указанной позиции в кортеже.

http://www.cplusplus.com/reference/tuple/get/

1
По вопросам рекламы [email protected]