2011-09-17 6 views

Respuesta

72

std::get devuelve una referencia al valor. Así se establece el valor de esta manera:

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

Por supuesto, esto supone que myTuple es no constante. Incluso puede mover elementos de una tupla a través std::move, invocando en la tupla:

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

Se tuvo que hacer de esa manera porque std :: set no está disponible para ese propósito ... – CashCow

16

La versión no constante de getreturns a reference. Puedes asignar a la referencia. Por ejemplo, supongamos que t es tuple, luego: get<0>(t) = 3;

Cuestiones relacionadas