[英]Rust clone/ copy issues
试图围绕如何在 egui 中进行一些简单的绘图。 我在 myapp 结构中有一个数据成员,它是 Vec::<Value>。
有没有办法将它传递到 Points::new(Values::from_values(data.to_vec()) 而不创建值的副本?示例通常是动态生成的,但是从光盘和解析每一帧的文本数据。
struct MyApp {
data: Vec<Value>,
}
myplot.show(ui, |plot_ui| {
let points = Points::new(Values::from_values(data.to_vec()));
plot_ui.points(points);
但是从光盘读取并解析每一帧的文本数据感觉有点过分。
您不必(也不应该)每帧都这样做。 解析一次并将结果存储在持久结构中,并在show
结束期间从那里复制。
也就是说,看起来您确实需要每帧创建一个新的Points
object,因为plot_ui.points
按值获取点 object。 你现在做的方式——存储一个Vec<Value>
并在每一帧克隆它——可能是你会得到的最好的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.