generics - 如何在 Rust 中传递具体(非类型)通用参数?
问题描述
在 C++ 中,我可以创建一个采用编译时容量参数的结构,例如,
template <size_t capacity>
struct Foo {
uint8_t data[capacity];
};
这很有用,例如,在堆栈上预先分配编译时可变数量的空间并避免堆分配。
我如何在 Rust 中做同样的事情?这不编译:
pub struct UStr<capacity> {
data: [u8; capacity],
}
/*
error[E0423]: expected value, found type parameter `capacity`
--> src/demo.rs:2:13
|
2 | data: [u8; capacity],
| ^^^^^^^^ not a value
*/
解决方案
推荐阅读
- ios - Swift:下拉时屏幕消失 - 不应该
- python - 删除文件中正斜杠后的字符
- python - 如何使用给定大小的数组实现网格?
- java - 单元测试可以使用被测类的方法进行测试设置吗
- xcode - Xcode 11,我在哪里可以管理构建阶段?
- python - 将 post.get('href') 转换为文本或字符串形式,Excel 无法处理超过 255 个字符的超链接
- reactjs - 当链接在组件内部时,如何更改页面内容?
- gmail-api - 我可以使用 Gmail API 访问同一域中其他用户的邮件列表和设置吗?
- javascript - 在角度 6 中为服务中分配的数据获取未定义
- python - 进程pyqt的进度条