Wie setze ich das std :: tuple Element nach Index?

89

Man kann ein Element std::tupledurch Index mit erhalten std::get. Wie kann man analog das Tupelelement nach Index setzen?

Behrouz.M
quelle

Antworten:

131

std::getGibt einen Verweis auf den Wert zurück. Sie stellen den Wert also folgendermaßen ein:

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

Dies setzt natürlich voraus, dass dies myTuplenicht konstant ist. Sie können sogar Elemente aus einem Tupel verschieben std::move, indem Sie es im Tupel aufrufen:

auto movedTo = std::get<0>(std::move(myTuple));
Nicol Bolas
quelle
25

Die nicht konstante Version von get gibt eine Referenz zurück . Sie können der Referenz zuordnen. Angenommen, es tist Tupel, dann:get<0>(t) = 3;

amit
quelle