首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引用引用用法

引用引用用法
EN

Stack Overflow用户
提问于 2021-11-16 00:29:41
回答 1查看 157关注 0票数 0

在本文“Why is "&&" being used in closure arguments?”中接受的答案中,答案的作者指出:

查找是为所有迭代器定义的方法。它允许您查看每个元素并返回与谓词匹配的元素。问题:如果迭代器生成不可复制的值,那么将值传递到谓词将使从find返回该值变得不可能。该值不能重新生成,因为迭代器(在一般情况下)是不可重绕或可重新启动的。因此,find必须通过引用而不是按值将元素传递给谓词。

如果迭代器在引用上工作,那么如果迭代器只能访问引用类型的值,它们如何返回不可复制的类型?

  1. 引用引用的用途是什么?举个例子会有帮助。我还是生疏的。--
EN

回答 1

Stack Overflow用户

发布于 2021-11-16 02:37:57

  1. 迭代器不适用于引用。它们可以在任何T上工作,这可能是一个引用,或者是一些不可复制的拥有结构。find函数获得T的引用。因此,如果是&&i32.
  2. There's,那么T = &i32将与&&T一起工作--这对&&T并没有太大的帮助。但是,虽然我个人并不需要它,&mut &T可以做一些有趣的事情。例如:

代码语言:javascript
复制
fn main() {
    let mut foo = "asdf";
    bend(&mut foo);
    println!("{}", foo);
}

fn bend(s: &mut &str) {
    *s = "bsdf";
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69982486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档