该特征的文档Index说该方法返回对关联类型(link.index() )的引用:Output
fn index(&self, index: Idx) -> &Self::Output;
Run Code Online (Sandbox Code Playgroud)
对于Vec<T>和usize索引,Output是T。因此,我希望以下代码片段中的变量a具有类型&i32。
let v = vec![0];
let a = v[0];
Run Code Online (Sandbox Code Playgroud)
然而, 的类型a是i32. 为什么?我正在学习 Rust,据我了解,Rust 要求你在任何地方都必须明确,并且从不value<->reference隐式执行转换。因此就有了这个问题。
Joh*_*ica 24
当括号去糖时,会添加自动取消引用。文档说,“std::ops::Index实际上container[index]是 的语法糖*container.index(index)。”
| 归档时间: |
|
| 查看次数: |
1900 次 |
| 最近记录: |