我有一个大对象,需要将其装箱到另一个对象中,但并不总是需要。因此,我想使用 if 语句获取可选的装箱临时结构,但我不确定如何同时解构和取消引用。
例子:
pub struct TempStructure {
lots_of_data: [u64; 64],
}
pub struct Structure {
pending_removal: Option<Box<(TempStructure, bool)>>,
}
impl Structure {
pub fn do_somthing(&mut self) {
// How do I destructure the Option and dereference the Box to get TempStructure?
if let Some((temp_structure, some_boolean)) = self.pending_removal.take() {
// Do something with temp_structure and some_boolean
}
}
}
当我执行这个 ^^^ 时,出现了一个
期望的结构体`std::boxed::Box`,但是找到了元组
的错误。
box
语法,但我不知道它被用于这个目的。谢谢你展示了这个! - Zyansheep&mut self
。 - Netwave