在Rust中填写结构向量的好方法是:
理想情况下
SSLContext
C等价物是:
unsafe
我正在移植一些C代码,它在一个简单的循环中填充一个数组,所以我想知道是否有一个 Rustic 方法来执行这样一个零或至少最小开销的常见任务?
如果此代码的Rust版本通常需要一些额外的检查,那么最近的等价物是什么?
答案 0 :(得分:5)
只需使用map
和collect
。
struct MyStruct(usize);
fn create_mystructs(n: usize) -> Vec<MyStruct> {
(0..n).map(MyStruct).collect()
}
“初始化”在安全Rust中没有意义,因为您需要能够访问未初始化的值,这是不安全的。收集到容器中时可以使用Iterator::size_hint
方法,以确保进行最少量的分配。
基本上,我相信优化器会在这里做正确的事情。如果没有,我相信它最终会。