在结构中引用内存的正确方法是什么>>

问题描述 投票:0回答:1

我有一个名为Pizza

的结构。它包含一个Base结构和一个Topping结构的向量。

我有一个返回Pizza

的助手方法。在不久的将来,我会看到浇头是某个地方的集合,而Pizza是从Topping的这个集合中动态创建的(混合和匹配样式)。

我的问题是该结构应如何引用碱基和浇头。如果将所有权授予该结构,那么它就很容易处理(没有生命周期声明,辅助方法也更容易,因为它们不再需要在范围之外创建内存)。但是,通过使Topping

超出我的辅助方法的范围并声明生存期,我在内存中的重复次数将减少。

人们如何看待这些问题?是否有建议遵循的经验法则?是否可以同时具有两者?

我有一个名为Pizza的结构。它包含单个Base结构和Topping结构的向量。我有一个返回比萨的助手方法。在不久的将来,我会看到浇头是一个...

rust
1个回答
0
投票

如果Topping很小(例如enum),则可以将其复制(例如复制到Vec<Topping>)。

© www.soinside.com 2019 - 2024. All rights reserved.