gpt4 book ai didi

rust - 将成员的所有权从一个结构转移到另一个结构?

转载 作者:行者123 更新时间:2023-11-29 07:49:29 25 4
gpt4 key购买 nike

我有 2 个结构:

struct MyVector {
storage: Vec<u32>,
}

struct MyVectorBuilder {
storage: Vec<u32>,
}

impl MyVectorBuilder {
fn new() -> MyVectorBuilder {
MyVectorBuilder { storage: Vec::new() }
}

fn build_my_vector(&mut self) -> MyVector {
// Doesn't compile: ^^^^ cannot move out of borrowed content
MyVector { storage: self.storage }
}
}

有没有办法告诉编译器 MyVectorBuilder 在调用 build_my_vector() 后将不会被使用,所以它会让我移动 storageMyVector?

最佳答案

是的。将 MyVectorBuilder 的所有权传递给 MakeMyVector

fn make_my_vector(self) -> MyVector {
MyVector { storage: self.storage }
}

关于rust - 将成员的所有权从一个结构转移到另一个结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44494888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com