为什么索引VEC返回值,而不是索引承诺的参考?
index
特征的文档说 .index()
方法将引用引用到 output
关联类型( link )
fn index(&self, index: Idx) -> &Self::Output;
://doc.rust-lang.org/stable/std/pops/trait.index.html“ rel =“ noreferrer USIZE
索引,输出
是 t
。因此,我希望以下片段中的变量 a
具有类型& i32
。
let v = vec![0];
let a = v[0];
但是, a
的类型是 i32
。为什么?我正在学习生锈,据我了解,生锈要求您在任何地方都明确,并且永远不会执行 value< - >参考
隐含地转换。因此,问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当托架被解散时,会添加自动解除。说:“
std :: ops :: ops :: Index
document> document容器[索引]
实际上是*container.index(index)
的句法糖。”There's an automatic dereference added when the brackets are de-sugared. The
std::ops::Index
documentation says, "container[index]
is actually syntactic sugar for*container.index(index)
."