如何引用std :: tuple的元素?

时间:2013-04-05 13:53:26

标签: c++ reference stdtuple

您可以使用n获取std::tuple的{​​{1}}元素的值。但我需要传递该元组的一个元素作为函数的引用。

如何获取std::get<n>(tuple)的元素的引用?

3 个答案:

答案 0 :(得分:9)

std::get返回一个引用(const或非const),因此可以:

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

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

演示here

答案 1 :(得分:1)

get返回引用,右值引用或const引用,具体取决于其参数的类型。

答案 2 :(得分:1)

std::get返回对元组中指定位置的元素的引用。

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