我有一个问题要问。我们看一下下面的代码:
use std::collection::BTreeMap;
fn main() {
let mut hm: BTreeMap<String, String> = BTreeMap::new();
hm.insert("asdf".to_owned(), "zxcv".to_owned());
println!("{:?}", hm.get("asdf"));
}
Run Code Online (Sandbox Code Playgroud)
因此,尽管BTreeMapkeep Strings 它接受其他可以与键类型进行比较的类型。
但这不仅仅是 的情况Vec<T>。因此,下面的代码将是一个错误:
fn main() {
let v: Vec<String> = vec!["hello".to_owned()];
println!("{:?}", v.binary_search("hello"));
}
Run Code Online (Sandbox Code Playgroud)
该代码片段将无法编译,因为binary_search调用了对所提供值的完全相同类型的引用。我有点困惑为什么。
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |