Comment définir l'élément std :: tuple par index?


89

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:


131

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));

25

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;

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.