Jak ustawić element std :: tuple według indeksu?


89

Można pobrać element z std::tupleindeksu za pomocą std::get. Analogicznie, jak ustawić element krotki według indeksu?

Odpowiedzi:


131

std::getzwraca odniesienie do wartości. Więc ustawiasz wartość w ten sposób:

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

To oczywiście zakłada, że myTuplenie jest stała. Możesz nawet przenosić elementy z krotki za pośrednictwem std::move, wywołując je w krotce:

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

25

Wersja non-const get zwraca odwołanie . Możesz przypisać do odniesienia. Na przykład załóżmy, że tto krotka, a następnie:get<0>(t) = 3;

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.