gpt4 book ai didi

hashmap - Rust HashMap 查找或插入

转载 作者:行者123 更新时间:2023-11-29 08:06:58 25 4
gpt4 key购买 nike

为什么 HashMap.find_or_insert(k,v) 返回一个 &mut 类型,它如何让它返回一个 type

我刚开始在一门类(class)中使用 Rust,我正在使用 HashMap<int, int>想得到一个int回来。

let mut m: HashMap<int, int> = HashMap::new();
println!("{:d}", m.find_or_insert(1,2));

给我一​​个错误说它 failed to find an implementation of trait std::fnt::Signed for &mut int .


编辑1:

我在 Windows 8.1 上使用 Rust 0.9,使用 msys。

到目前为止我的代码

use std::hashmap::HashMap;

fn main() {
let mut m: HashMap<int, int> = HashMap::new();
println!("{:d}", *m.find_or_insert(1,2))
}

我再次尝试了这段代码,它正确地返回了 2

最佳答案

为什么 find_or_insert 返回一个引用?复制并不总是可行/有效。

在整数的情况下如何使用该引用?用 * 取消引用它:

let mut m: HashMap<int, int> = HashMap::new();
println!("{:d}", <b>*</b>m.find_or_insert(1,2));

关于hashmap - Rust HashMap 查找或插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21172527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com