O que significa passar um vetor para um loop `for` versus uma referência a um vetor?
Estou confuso com a forma como Rustfor
loops de trabalho. Considere o seguinte:
#![feature(core_intrinsics)]
fn print_type_of<T>(_: T) {
println!("{}", unsafe { std::intrinsics::type_name::<T>() });
}
fn main() {
let nums = vec![1, 2, 3];
for num in &nums { print_type_of(num); }
for num in nums { print_type_of(num); }
}
Emite o seguinte:
&i32
&i32
&i32
i32
i32
i32
O que significa passar um vetor parafor
versus uma referência a um vetor? Por que, quando você passa uma referência, obtém uma referência aos itens e quando passa um vetor real, obtém os itens reais?