我有一个名为Pizza
的结构。它包含一个Base结构和一个Topping结构的向量。我有一个返回Pizza
的助手方法。在不久的将来,我会看到浇头是某个地方的集合,而Pizza是从Topping的这个集合中动态创建的(混合和匹配样式)。我的问题是该结构应如何引用碱基和浇头。如果将所有权授予该结构,那么它就很容易处理(没有生命周期声明,辅助方法也更容易,因为它们不再需要在范围之外创建内存)。但是,通过使Topping
超出我的辅助方法的范围并声明生存期,我在内存中的重复次数将减少。人们如何看待这些问题?是否有建议遵循的经验法则?是否可以同时具有两者?
我有一个名为Pizza的结构。它包含单个Base结构和Topping结构的向量。我有一个返回比萨的助手方法。在不久的将来,我会看到浇头是一个...
如果Topping
很小(例如enum
),则可以将其复制(例如复制到Vec<Topping>
)。