Custer의 Rust와 iterators의 반복자는 다른 것들입니다. 녹 방지 반복자는 자바와 다른 고급 언어의 것들과 비슷하다. 포인터와 같은 것이 아니며 일종의 "생산자"이다. 따라서 데이터를 대량으로 복사하도록 최적화하는 것은 불가능합니다. 예를 들어 무한한 값 시퀀스를 반환 할 수 있기 때문에 일부 반복자에 대해서는 전혀 이해가되지 않을 수 있습니다.
당신이, 내가 추측 할 수있는 가장 가까운 것은이 같은 것입니다 (Copy
유형, Clone
유형 *t = *s
에 대한 *t = s.clone()
될 것이다) :
fn main() {
let source = [1i, 2, 3, 4, 5];
let mut target = [1i, 1, 1, 1, 1];
println!("source: {}", source.as_slice());
println!("target: {}", target.as_slice());
println!("-------");
for (s, t) in source.iter().zip(target.mut_iter()) {
*t = *s;
}
println!("source: {}", source.as_slice());
println!("target: {}", target.as_slice());
}