<分区>
Rust 语言是否支持类似于 c++ 方式的泛型代码中的常量值?似乎是语言 overview不做广告。在 C++ 中使用常量参数化类型允许根据客户的需要创建具有不同大小的预分配缓冲区的对象(类型如 STLsoft::auto_buffer )。
如果不是,那么在 Rust 中实现类似设计的最佳实践是什么?
<分区>
Rust 语言是否支持类似于 c++ 方式的泛型代码中的常量值?似乎是语言 overview不做广告。在 C++ 中使用常量参数化类型允许根据客户的需要创建具有不同大小的预分配缓冲区的对象(类型如 STLsoft::auto_buffer )。
如果不是,那么在 Rust 中实现类似设计的最佳实践是什么?
最佳答案
不,这在类型安全的方式中不受支持。为此,我们需要类型级数字文字,例如 GHC 最近添加的内容。
但是,您可以使用 Rust 宏。使用宏,您可以创建在任意表达式(包括常量)上参数化的"template",这将允许您在这里做您想做的事。请注意,如果您现在尝试此操作,您可能会发现宏系统中的错误和限制。
关于rust - Rust 泛型中的常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14816336/