Rust语言是否支持类似于c ++方式的通用代码中的常量值?似乎语言overview没有宣传它。使用C ++中的常量参数化类型允许根据客户端的需要创建具有不同大小的预分配缓冲区的对象(类似stlsoft :: auto_buffer)。
如果没有,那么在Rust中实现类似设计的最佳实践是什么?
答案 0 :(得分:8)
不,以类型安全的方式不支持此功能。我们需要类型级的数字文字,就像最近添加的GHC一样。
但是,您可以使用Rust宏。使用宏,您可以创建通过任意表达式参数化的“模板”,包括常量,这将允许您在此处执行所需操作。请注意,如果您现在尝试此操作,可能会在宏系统中发现错误和限制。