Bagaimana cara mengatur elemen std :: tuple berdasarkan indeks?

90

Seseorang bisa mendapatkan elemen dari std::tupledengan menggunakan indeks std::get. Secara analogis, bagaimana mengatur elemen tupel dengan indeks?

Behrouz.M
sumber

Jawaban:

133

std::getmengembalikan referensi ke nilai. Jadi Anda menetapkan nilainya seperti ini:

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

Ini tentu saja mengasumsikan bahwa myTuplenon-const. Anda bahkan dapat memindahkan item keluar dari tupel melalui std::move, dengan memanggilnya pada tupel:

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

Versi non-const get mengembalikan referensi . Anda dapat menetapkan referensi. Misalkan tadalah tuple, maka:get<0>(t) = 3;

amit
sumber