如何获取std::tuple中元素的引用?

24
你可以使用std::get<n>(tuple)来获取std::tuple的第n个元素的值。但是我需要将该元组中的一个元素作为引用传递给函数。
我该如何获取std::tuple中一个元素的引用?
2个回答

35

std::get 返回一个引用(可以是const或非const),因此这样可以工作:

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

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

这里有演示链接.


2
演示链接无法使用。 - Andrej

4

get 根据其参数的类型返回引用、右值引用或常量引用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接