96 votes

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

On peut obtenir un élément à partir de std::tuple par index en utilisant std::get . Analogiquement, comment set l'élément du tuple par index ?

140voto

Nicol Bolas Points 133791

std::get renvoie une référence à la valeur. Donc vous définissez la valeur comme ceci :

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

Cela suppose bien sûr que myTuple est non-const. Vous pouvez même déplacer des éléments hors d'un tuple via std::move en l'invoquant sur le tuple :

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

26voto

phaedrus Points 8060

La version non-const de get renvoie une référence . Vous pouvez affecter à la référence. Par exemple, supposons que t est un tuple, alors : get<0>(t) = 3;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X