作者:太完美无缺_817 | 来源:互联网 | 2022-12-03 12:34
我可以在堆中创建一个消耗迭代器:
vec![1, 10, 100].into_iter()
我也可以在堆栈上创建一个借用元素的迭代器:
[1, 10, 100].iter()
但如果我写这个:
[1, 10, 100].into_iter()
这不是消耗迭代器,因为[T; _]::into_iter
不存在:IntoIterator
仅针对借用版本(aka slice)实现.是否有一种简单的方法(最好是在std
lib中)在堆栈上创建消耗迭代器?
我知道[1, 10, 100].iter().cloned()
可以做到,但这要求物品可以克隆.
1> DK...:
是否有一种简单的方法(最好是在std
lib中)在堆栈上创建消耗迭代器?
没有.
是否有一种简单的方法(最好是在std lib中)在堆栈上创建一个消耗迭代器?
是.使用类似的包,stack
或smallvec
提供实现的数组类型IntoIterator
.