首页 文章

生锈中的字节缓冲区[重复]

提问于
浏览
2

这个问题在这里已有答案:

访问 &mut [u8] 的最有效方法是什么?现在我从Vec借用但是更直接地分配缓冲区会更容易 .

我现在能做的最好的事情是预先分配一个向量然后推出它的长度,但这不是惯用的 .

let mut points_buf : Vec<u8> = Vec::with_capacity(points.len() * point::POINT_SIZE);
    for _ in (0..points_buf.capacity()) {
        points_buf.push(0);
    }
    file.read(&mut points_buf[..]).unwrap();

1 回答

  • 2

    您可以直接创建具有给定大小的vec:

    vec![0; num_points]
    

    或者使用迭代器:

    repeat(0).take(num_points).collect::<Vec<_>>()
    

相关问题