本文简要介绍rust语言中 slice.as_chunks_unchecked_mut
的用法。
用法
pub unsafe fn as_chunks_unchecked_mut<const N: usize>( &mut self) -> &mut [[T; N]]
假设没有余数,将切片拆分为 N
元素数组的切片。
安全性
这只能在以下情况下调用
- 切片完全拆分为
N
元素块(又名self.len() % N == 0
)。 N != 0
。
例子
#![feature(slice_as_chunks)]
let slice: &mut [char] = &mut ['l', 'o', 'r', 'e', 'm', '!'];
let chunks: &mut [[char; 1]] =
// SAFETY: 1-element chunks never have remainder
unsafe { slice.as_chunks_unchecked_mut() };
chunks[0] = ['L'];
assert_eq!(chunks, &[['L'], ['o'], ['r'], ['e'], ['m'], ['!']]);
let chunks: &mut [[char; 3]] =
// SAFETY: The slice length (6) is a multiple of 3
unsafe { slice.as_chunks_unchecked_mut() };
chunks[1] = ['a', 'x', '?'];
assert_eq!(slice, &['L', 'o', 'r', 'a', 'x', '?']);
// These would be unsound:
// let chunks: &[[_; 5]] = slice.as_chunks_unchecked_mut() // The slice length is not a multiple of 5
// let chunks: &[[_; 0]] = slice.as_chunks_unchecked_mut() // Zero-length chunks are never allowed
相关用法
- Rust slice.as_chunks_unchecked用法及代码示例
- Rust slice.as_chunks_mut用法及代码示例
- Rust slice.as_chunks用法及代码示例
- Rust slice.as_mut_ptr用法及代码示例
- Rust slice.as_ptr_range用法及代码示例
- Rust slice.as_ptr用法及代码示例
- Rust slice.as_rchunks_mut用法及代码示例
- Rust slice.as_rchunks用法及代码示例
- Rust slice.align_to_mut用法及代码示例
- Rust slice.array_windows用法及代码示例
- Rust slice.align_to用法及代码示例
- Rust slice.array_chunks用法及代码示例
- Rust slice.array_chunks_mut用法及代码示例
- Rust slice.sort_unstable_by_key用法及代码示例
- Rust slice.iter_mut用法及代码示例
- Rust slice.windows用法及代码示例
- Rust slice.repeat用法及代码示例
- Rust slice.group_by_mut用法及代码示例
- Rust slice.fill用法及代码示例
- Rust slice.sort_unstable_by用法及代码示例
- Rust slice.sort用法及代码示例
- Rust slice.rotate_left用法及代码示例
- Rust slice.swap_unchecked用法及代码示例
- Rust slice.get_unchecked用法及代码示例
- Rust slice.split_array_mut用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 slice.as_chunks_unchecked_mut。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。