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();
Моя забота с перераспределении. Как узнать, работает ли макрос 'vec!' 'With_capacity'? – xrl