【发布时间】:2017-12-09 21:50:56
【问题描述】:
我正在为[MyStruct;4] 实现FromIterator,其中MyStruct 是一个小的复制结构。我目前的实现是
fn from_iter<I: IntoIterator<Item=MyStruct>>(iter: I) -> Self {
let mut retval = [Default::default();4];
for (ret, src) in retval.iter_mut().zip(iter) {
*ret = src;
}
retval
}
这很好用,但是我不确定for 循环是否尽可能地道。是否有像Slice::fill(iter) 这样的方法可以更干净地完成此任务(也许更有效)?
【问题讨论】:
-
也许你可以使用普通的、旧的map?
标签: optimization iterator copy rust slice