On peut obtenir un élément std::tuple
par index en utilisant std::get
. Analogiquement, comment définir l'élément de tuple par index?
Réponses:
std::get
renvoie 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 myTuple
n'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 t
s'agisse d'un tuple, alors:get<0>(t) = 3;