如何通过索引设置std :: tuple元素?

时间:2011-09-17 08:45:37

标签: c++ templates indexing tuples

可以使用std::tuple通过索引从std::get获取元素。 类似地,如何按索引设置元组的元素?

2 个答案:

答案 0 :(得分:96)

std::get返回对该值的引用。所以你设置这样的值:

std::get<0>(myTuple) = newValue;

这当然假设myTuple是非常量的。您甚至可以通过std::move通过在元组上调用它来移动元组中的项目:

auto movedTo = std::get<0>(std::move(myTuple));

答案 1 :(得分:18)

get returns a reference的非常量版本。您可以分配给参考。例如,假设t是元组,那么:get<0>(t) = 3;