gpt4 book ai didi

rust - 如何设计具有在编译时决定的可选功能的 Rust 结构?

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

我有一个结构 Game我希望能够构建一个对象,但有可能在编译时删除功能,以优化内存或处理器周期。

struct Game {
history: Vec<SomeType>,
}

impl Game {
fn new() {}

fn new_opti() {}
}

例如,在此结构中,优化版本将没有历史记录。在这里,我替换了 historyOption<Vec<SomeType>>在优化版本中我​​放了一个 None我改变了依赖于历史的方法的行为,并禁用了一些方法。

我认为这是一种 hacky 方法,但更好的方法是什么?没有必要只保留一个结构。

最佳答案

既然你在评论中提到你想要一个编译时答案,你可以在你选择的时候简单地编译这个字段:

struct Game {    
#[cfg(foo)]
history: Vec<SomeType>,

...
}

同样,您可以使用字段编译出代码。

关于rust - 如何设计具有在编译时决定的可选功能的 Rust 结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57861624/

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