腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
为什么
Iterator
::
filter
方法
接受
可变
引用
作为
self
?
、
Iterator
::
filter
的签名是 fn
filter
<P>(
self
, predicate: P) ->
Filter
<
Self
, P>
Self
: Sized,P: FnMut(&
Self
::Item) -> bool, 因为它的第一个参数是
self
,所以我假设我必须通过值传递迭代器,从而将所有权转移到该函数。例如: fn char_count(i: &
浏览 15
提问于2021-07-27
得票数 3
2
回答
我如何修改
Iterator
::find's闭包中的项目?
、
我想在
Iterator
::find对象上使用对象,它的签名如下所示: where
Self
: Sized, P: FnMut(&
Self
::Item) -> bool 我想找到一个具有特定vendor_id的设备,它需要在每个设备上调用。但是,device_descriptor
方法
对每个设备都需要一个&mu
浏览 3
提问于2016-06-03
得票数 6
回答已采纳
1
回答
为什么
允许对迭代器的
可变
引用
调用Why ()?
、
、
、
在宣言中:
self
作为
第一个参数告诉我,take()必须用于拥有的值,而不是
引用
(&
self
)或
可变
引用
(&mut
self
by_ref()的文档说它返回一个
可变
的
引用
,并且 ,这对于允许应用迭代器适配器很有用,同时仍然保留了原始迭代器的所有权。我的问题是,
为什么
允许我在
浏览 2
提问于2020-12-20
得票数 2
回答已采纳
1
回答
有没有办法不将迭代器的生存期链接到结构?
、
、
、
、
有什么
方法
不链接迭代器的生命周期到结构?我能够通过使迭代器的生命周期依赖于结构来使其工作,但这不是我打算做的。下面是一个简化的代码: low: i32, pub fn find_low<'a>( packets: impl
Iterator
<Item = &'a i32>, ) -> impl
Iterator</
浏览 3
提问于2022-04-06
得票数 0
1
回答
如何递归地传递函数指针?
、
我想编写一个
Iterator
适配器,它将一个函数递归地应用到它的底层
Iterator
。因为变体IR::Loop包含一个迭代器( Vec<IR> ),因此迭代器也应该传递给函数。函数应该
接受
一个&mut
Iterator
<Item = IR>,并使用它来计算迭代器的下一个值(如)。Sized> MyItertools for T T:
Iterator
,} //applies a function recursively
浏览 4
提问于2015-03-01
得票数 0
回答已采纳
1
回答
为什么
范围必须是哑巴才能在其上称为“`find`”?
| (n % 2 == 0) && n > 0);我找到了,我看到谓词被定义为: P: FnMut(&
Self
为什么
first_ten需要有mut
浏览 0
提问于2017-12-09
得票数 0
回答已采纳
1
回答
为什么
可以从函数返回对文字的
可变
引用
?
、
当前版本的具有以下示例代码: type Item = &'a mut T; let
浏览 0
提问于2019-05-09
得票数 8
回答已采纳
1
回答
‘A’对于类型‘&’a+‘a没有实现’A‘这个特性。
我在使用一个以泛型特征对象
作为
参数的泛型函数时遇到了困难。在我看来,Next特性对于任何参数Type都是对象安全的,所以Next应该由任何&Next<Type>来实现(通过阅读);是否有任何
方法
来检查它是否是对象安全的?trait Next { fn next(&mut
self
) -> Option<
Self
::Type>;struct NextImpl<Type> {) -> Option<
Self
浏览 2
提问于2015-05-15
得票数 3
回答已采纳
1
回答
可以通过
接受
可变
的
引用
来移动值吗?
pub trait Skip<I:
Iterator
> {} fn skip(&mut
self
, mut steps: usize) { steps -= 1;
浏览 2
提问于2016-06-02
得票数 4
回答已采纳
1
回答
有没有一种
方法
可以遍历
可变
树以获得随机节点?
、
要使用库采样算法对树中的节点进行采样,我必须遍历这些节点,因此我尝试为我的Node枚举创建一个
Iterator
。问题是,一方面,我必须将子节点的
引用
存储在堆栈或队列中,但另一方面,我必须返回父节点的
可变
引用
。Rust不允许对一个值进行多个
可变
引用
,也不允许将不
可变
引用
转换为
可变
引用
。有没有一种
方法
可以遍历
可变
树?或者,是否有另一种
方法
可以随机获取对树中节点的<em
浏览 28
提问于2018-03-02
得票数 3
回答已采纳
1
回答
使用transmute实现
可变
迭代器以避免与不
可变
迭代器的代码重复是否安全?
、
我有一个自定义迭代器,它以非连续的方式从对Vec的
引用
中读取数据。它永远不会返回对同一内存的两个
引用
,所以我相信实现一个
可变
的副本是安全的。但是,迭代器本身的逻辑相当复杂,对于
可变
版本来说,它是完全相同的。为了避免代码重复,我在幕后使用了非mut迭代器,然后强制转换结果以增加
可变
性。} data: &'a [u64], } im
浏览 1
提问于2020-11-15
得票数 2
3
回答
如何为
引用
自身但不改变自身的相关类型的迭代器指定生存期?
、
我有这样的结构: item: T我想为它实现
Iterator
,以便它每次都返回对其item的
引用
: return Some(&
self
.item);
浏览 5
提问于2017-06-25
得票数 2
回答已采纳
1
回答
在具有
可变
生存期的结构上实现迭代器时出错
、
、
、
我为
引用
迭代器编写了代码,它可以工作。但是,如果我为
可变
引用
编写相同的代码,它不起作用,奇怪的是,错误似乎与生命周期有关,而不是与所有权有关。strictimpl<'a>
Iterator
for Iter<'a>{ fn next(&mut
self
) -> Option<
Self
an example} 下面是相同的代码,
浏览 5
提问于2022-11-20
得票数 1
回答已采纳
1
回答
不能使用不
可变
片(不
可变
片)
我想要创建一个包含一个切片的结构,并且可以返回对该切片中的项的
引用
。到目前为止,我已经做到了: items: &'a [f32],pub struct Stride<'a> {} impl<
浏览 1
提问于2015-01-10
得票数 2
回答已采纳
1
回答
在锈蚀中使用
引用
和使用自己的价值有什么区别吗?
、
、
、
、
它解释说,当您创建一个函数时,您需要决定您的函数是
接受
其参数的所有权,还是将其视为
可变
的或不
可变
的
引用
。什么时候需要取消
引用
变量的
引用
?我只在尝试增加变量存储的值时才
浏览 2
提问于2021-01-18
得票数 2
回答已采纳
1
回答
锈菌`borrow_mut`,`borrow_mut`和move
、
、
我的代码是where{} fn read(&mut
self
) { while let Some(item) =
self
.source.next("Handled
浏览 2
提问于2021-06-25
得票数 0
回答已采纳
1
回答
创建
可变
迭代器时出现生存期错误
、
不
可变
版本工作得很好,但当复制相同的函数来创建
可变
版本时,出现了终生错误。: u32, end: u32) -> impl
Iterator
<Item = &String> {
self
.map.get(&i) } pub fn iter_mut(&mut
self
, start: u32, en
浏览 26
提问于2021-07-27
得票数 2
回答已采纳
2
回答
通过实例
方法
更改类属性
引用
的对象
这是一个由两部分组成的查询,它广泛地涉及
引用
可变
和不
可变
对象的类属性,以及在代码设计中应如何处理这些属性。我已经将细节抽象出来,以提供下面的示例类。在本例中,类是为两个实例设计的,它们可以通过实例
方法
访问
引用
可变
对象(在本例中为列表)的类属性,每个实例都可以将该对象的元素“
接受
”(通过将该对象的元素更改为它们自己的实例属性)(通过更改它
引用
的对象)如果一个实例“
接受
”了class属性的一个元素,则该元素随后将不可用于另一个实例,这正是
浏览 0
提问于2015-03-03
得票数 0
回答已采纳
1
回答
冲突的生命周期-挖掘内容无法超过容器
、
、
我试图为我的结构之一实现
Iterator
: pub val: Vec<usize>, env: &'b mut Env, } impl<'a, 'b>
Iterator
for NodeIter<'更长寿,留下一个空
引
浏览 5
提问于2022-03-13
得票数 0
回答已采纳
1
回答
如何实现具有生存期结构的迭代器?
、
、
我想要创建一个可更改的迭代器来控制修改,为此,我创建了一个名为FitnessIterMut的结构,用于impl
Iterator
特性。next()
方法
提供了一个结构,当修改完成时,它可以对容器本身执行操作。(这是做这种事的好办法吗?)fitness = new;} wheel: &'a mut RouletteWheel<T>,
iterator
<'a,
浏览 2
提问于2016-05-21
得票数 3
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
【长文】一篇文章,一整天coding,带你入门python
编程学习篇——Python(一)
【翻译】Rust生命周期常见误区
来一波流:关于Stream的快速学习体验及语法详解
我真的受够了,竟然整理出这么完整的Python知识点
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
实时音视频
活动推荐
运营活动
广告
关闭
领券