生锈中的字节缓冲区

时间:2015-06-10 07:33:28

标签: buffer rust slice mutable

访问&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 个答案:

答案 0 :(得分:2)

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

vec![0; num_points]

或者使用迭代器:

repeat(0).take(num_points).collect::<Vec<_>>()
相关问题