【发布时间】:2021-05-28 22:25:18
【问题描述】:
use std::collections::BTreeMap;
fn main() {
let mut m = BTreeMap::new();
m.insert(1, 1);
let (a, b) = *m.iter().next().unwrap();
}
我正在尝试获取从 btreemap 返回的 (key, value) 对的取消引用版本。但是直接在返回的 (& ,&) 对上使用解引用运算符是行不通的。
有没有办法做到这一点,使 a、b 的类型只是 u64,而不是 &u64?
【问题讨论】:
-
您总是可以使用取消引用的版本来隐藏变量,例如
let (a, b) = (*a, *b);,虽然我不确定你怎么能在一个声明中做到这一点 -
或者您可以使用
into_iter来按值迭代。
标签: rust