我想将数组的一个切片上的值复制到另一个切片上.
显而易见的方法(使用迭代)是:
for i in 0..10 {
self.ram[i] = self.ram[20 + i];
}
然而,这似乎效率很低.
复制切片的常用方法:
arr[0..10].copy_from_slice(&arr[20..30]);
因为arr
被借了两次,所以不起作用.
我想到的唯一其他方法是std::ptr::copy_nonoverlapping
,这是不安全的.
将切片复制到自己的数组中(同时知道源和目标不重叠)的最佳方法是什么?