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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。