Vec类型实现了可变向量的IntoIterator特性:
impl<'a, T> IntoIterator for &'a mut Vec<T> {
type Item = &'a mut T;
type IntoIter = slice::IterMut<'a, T>;
fn into_iter(self) -> slice::IterMut<'a, T> {
self.iter_mut()
}
}我无法调用该代码。我正在努力:
let mut vec = vec![1, 2, 3];
for mut i in &vec {
println!("{}", i);
}Vec的什么用法将调用特定的IntoIterator实现?
发布于 2020-08-31 12:17:08
下面的代码将调用问题中提到的IntoIterator变体:
let mut vec = vec![1, 2, 3];
for i in &mut vec {
println!("{}", i);
}这是因为vec!宏返回一个拥有的Vec,而不是引用。您可以使用Vec交替迭代拥有的for i in &mut vec。
https://stackoverflow.com/questions/63670386
复制相似问题