Можно получить элемент из std::tuple
по индексу с помощью std::get
.
Аналогично, как установить элемент tuple по индексу?
Как установить элемент std:: tuple по индексу?
Ответ 1
std::get
возвращает ссылку на значение. Поэтому вы устанавливаете значение следующим образом:
std::get<0>(myTuple) = newValue;
Это, конечно, предполагает, что myTuple
не const. Вы можете даже перемещать элементы из кортежа через std::move
, вызывая его в кортеже:
auto movedTo = std::get<0>(std::move(myTuple));
Ответ 2
Неконстантная версия get
возвращает ссылку. Вы можете назначить ссылку. Например, предположим, что t
является кортежем, затем: get<0>(t) = 3;