Pode-se obter um elemento std::tuple
pelo índice usando std::get
. Analogicamente, como definir o elemento da tupla por índice?
Respostas:
std::get
retorna uma referência ao valor. Então, você define o valor assim:
std::get<0>(myTuple) = newValue;
Isso, é claro, assume que myTuple
não é constante. Você pode até mover itens para fora de uma tupla std::move
, invocando-a na tupla:
auto movedTo = std::get<0>(std::move(myTuple));
A versão não const de get
retorna uma referência . Você pode atribuir à referência. Por exemplo, suponha que t
seja tupla, então:get<0>(t) = 3;