One can get an element from std::tuple
by index using std::get
.
Analogically, how to set tuple's element by index?
Asked
Active
Viewed 7.2k times
2 Answers
170
std::get
returns a reference to the value. So you set the value like this:
std::get<0>(myTuple) = newValue;
This of course assumes that myTuple
is non-const. You can even move items out of a tuple via std::move
, by invoking it on the tuple:
auto movedTo = std::get<0>(std::move(myTuple));

Nicol Bolas
- 449,505
- 63
- 781
- 982
27
The non-const version of get
returns a reference. You can assign to the reference. For example, suppose t
is tuple, then: get<0>(t) = 3;

Nicol Bolas
- 449,505
- 63
- 781
- 982

amit kumar
- 20,438
- 23
- 90
- 126