读 Rust 实战疑问

2023-05-24 19:24:43 +08:00
 xianzhe

请问这话啥意思啊?下面的代码我跑起来也没任何问题啊

fn main() {
    let container = [1, 2, 3, 4, 5];
    for x in container {
        println!("{}", x)
    }
    println!("{}", container.is_empty());
    for x in container {
        println!("{}", x)
    }
}
1092 次点击
所在节点    问与答
2 条回复
misdake
2023-05-24 19:38:56 +08:00
可以把数组换成 Vec 试试看。他会抱怨 container.is_empty()使用了 move 后的数据。
你这个例子没问题是因为 container 是[i32;5]类型是 Copy 的,所以所有权没被吃掉。
xianzhe
2023-05-24 21:17:25 +08:00
@misdake 感谢感谢,换成 vector 确实如你所说

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/942672

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX