On peut obtenir un élément std::tuplepar index en utilisant std::get. Analogiquement, comment définir l'élément de tuple par index?
Réponses:
std::getrenvoie une référence à la valeur. Vous définissez donc la valeur comme ceci:
std::get<0>(myTuple) = newValue;
Cela suppose bien sûr que ce myTuplen'est pas const. Vous pouvez même déplacer des éléments hors d'un tuple via std::move, en l'appelant sur le tuple:
auto movedTo = std::get<0>(std::move(myTuple));
La version non-const de get renvoie une référence . Vous pouvez attribuer à la référence. Par exemple, supposons qu'il ts'agisse d'un tuple, alors:get<0>(t) = 3;