Người ta có thể lấy một phần tử từ std::tuple
chỉ mục bằng cách sử dụng std::get
. Tương tự, làm thế nào để đặt phần tử của tuple theo chỉ mục?
Câu trả lời:
std::get
trả về một tham chiếu đến giá trị. Vì vậy, bạn đặt giá trị như thế này:
std::get<0>(myTuple) = newValue;
Tất nhiên, điều này giả định rằng đó myTuple
không phải là hằng số. Bạn thậm chí có thể di chuyển các mục ra khỏi một tuple thông qua std::move
, bằng cách gọi nó trên tuple:
auto movedTo = std::get<0>(std::move(myTuple));
Phiên bản không phải const get
trả về một tham chiếu . Bạn có thể gán cho tài liệu tham khảo. Ví dụ: giả sử t
là tuple, thì:get<0>(t) = 3;