當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust slice.as_ptr_range用法及代碼示例


本文簡要介紹rust語言中 slice.as_ptr_range 的用法。

用法

pub fn as_ptr_range(&self) -> Range<*const T>

返回跨越切片的兩個原始指針。

返回的範圍是半開的,這意味著結束指針指向切片的最後一個元素。這樣,一個空切片由兩個相等的指針表示,兩個指針的差值表示切片的大小。

有關使用這些指針的警告,請參閱 as_ptr 。結束指針需要格外小心,因為它不指向切片中的有效元素。

此函數對於與使用兩個指針來引用內存中一係列元素的外部接口進行交互很有用,這在 C++ 中很常見。

檢查指向元素的指針是否引用此切片的元素也很有用:

let a = [1, 2, 3];
let x = &a[1] as *const _;
let y = &5 as *const _;

assert!(a.as_ptr_range().contains(&x));
assert!(!a.as_ptr_range().contains(&y));

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 slice.as_ptr_range。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。