Вы можете получить значение n
й элемент std::tuple
с помощью std::get<n>(tuple)
, Но мне нужно передать один элемент этого кортежа как ссылку на функцию.
Как получить ссылку на элемент std::tuple
?
std::get
возвращает ссылку (постоянную или неконстантную), так что это работает:
void fun(int &a) {
a = 15;
}
void test() {
std::tuple<int, char> foo{ 12, 'a' };
fun(std::get<0>(foo));
}
демонстрация Вот.
get
возвращает ссылку, ссылку на значение или константную ссылку в зависимости от типа аргумента.
std::get
возвращает ссылку на элемент в указанной позиции в кортеже.