本文簡要介紹rust語言中 slice.as_ptr
的用法。
用法
pub const fn as_ptr(&self) -> *const T
返回指向切片緩衝區的原始指針。
調用者必須確保切片比這個函數返回的指針長,否則它將最終指向垃圾。
調用者還必須確保永遠不會使用此指針或從它派生的任何指針寫入指針(非傳遞性)指向的內存(除了在 UnsafeCell
內)。如果您需要改變切片的內容,請使用 as_mut_ptr
。
修改此切片引用的容器可能會導致其緩衝區被重新分配,這也會使指向它的任何指針無效。
例子
let x = &[1, 2, 4];
let x_ptr = x.as_ptr();
unsafe {
for i in 0..x.len() {
assert_eq!(x.get_unchecked(i), &*x_ptr.add(i));
}
}
相關用法
- Rust slice.as_ptr_range用法及代碼示例
- Rust slice.as_chunks_unchecked用法及代碼示例
- Rust slice.as_mut_ptr用法及代碼示例
- Rust slice.as_chunks_unchecked_mut用法及代碼示例
- Rust slice.as_chunks_mut用法及代碼示例
- Rust slice.as_rchunks_mut用法及代碼示例
- Rust slice.as_chunks用法及代碼示例
- 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_ptr。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。