web-dev-qa-db-ja.com

インデックスでstd :: Tuple要素を設定する方法は?

std::Tupleを使用したインデックスにより、std::getから要素を取得できます。同様に、setタプルの要素をインデックスで指定する方法は?

72
Behrouz.M

std::getは、値への参照を返します。したがって、次のように値を設定します。

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

もちろん、これはmyTupleが非定数であると想定しています。 Tupleで呼び出すことで、std::moveを介してTupleからアイテムを移動することもできます。

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

getの非constバージョン 参照を返す 。参照に割り当てることができます。たとえば、tがTupleであるとすると、get<0>(t) = 3;

20
amit