rust - 如果 Option 中的 .unwrap() 的输出取决于实例本身,它如何成为 const 函数?

标签 rust

只是查看了 rust stdlib,注意到 Option 的展开关联函数被标记为 const 函数,这应该意味着它的值可以在编译时知道......对吗?但期权的值(value)决定了这一点。

最佳答案

const 函数意味着它们可以在编译时求值,如果它们是在 const 上下文中求值的。但如果它们在 const 上下文之外使用,仍然可以在运行时调用它们。本质上,这只是说“如果您有一个具有编译时已知值的Option,并且该值也可以在编译时操作,and all the stars align for const context您可以在编译时提取内容 -时间也一样。”

关于rust - 如果 Option 中的 .unwrap() 的输出取决于实例本身,它如何成为 const 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72082779/

相关文章:

rust - 在 Rust 中使用 Rc 时如何防止递归释放导致堆栈溢出?

multithreading - 在 Rust 中创建两个对结构线程安全的可变引用

time - 如何以亚秒级精度计时操作的持续时间?

sorting - 使用 std::collections::BinaryHeap 就地堆排序

rust - 如何获取非函数代码块的变量所有权

rust - 如何在不知道类型的情况下获取异构列表的各个元素?

rust - 内置测试仪 'define' 未按预期工作

struct - 如何转换作为结构体内部字段的枚举?

rust - 使用Rc <RefCell <.. >>实现二进制搜索树时的生命周期问题

rust - 无法理解 Rust 通用函数错误