当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust slice.split_at_mut_unchecked用法及代码示例


本文简要介绍rust语言中 slice.split_at_mut_unchecked 的用法。

用法

pub unsafe fn split_at_mut_unchecked(    &mut self,     mid: usize) -> (&mut [T], &mut [T])

在索引处将一个可变切片分成两部分,而不进行边界检查。

第一个将包含来自[0, mid) 的所有索引(不包括索引mid 本身),第二个将包含来自[mid, len) 的所有索引(不包括索引len 本身)。

有关安全的替代方案,请参阅 split_at_mut

安全性

使用越界索引调用此方法是未定义的行为即使不使用生成的参考。调用者必须确保0 <= mid <= self.len().

例子

#![feature(slice_split_at_unchecked)]

let mut v = [1, 0, 3, 0, 5, 6];
// scoped to restrict the lifetime of the borrows
unsafe {
    let (left, right) = v.split_at_mut_unchecked(2);
    assert_eq!(left, [1, 0]);
    assert_eq!(right, [3, 0, 5, 6]);
    left[1] = 2;
    right[1] = 4;
}
assert_eq!(v, [1, 2, 3, 4, 5, 6]);

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 slice.split_at_mut_unchecked。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。