小编Moh*_*med的帖子

为什么编译器不抱怨迭代器移动到for循环是不可变的?

我正在阅读Rust Book的第二版,我在迭代器部分找到了以下示例:

let v1 = vec![1, 2, 3];
let v1_iter = v1.iter();    
for val in v1_iter {
    println!("Got: {}", val);
}
Run Code Online (Sandbox Code Playgroud)

为什么编译器不抱怨v1_iter是不可变的?这本书说for循环取得了所有权,v1_iter并使其在幕后变得可变,但是你可以将一个不可变变量转换为可变变量吗?

move-semantics rust

8
推荐指数
1
解决办法
132
查看次数

标签 统计

move-semantics ×1

rust ×1