Function core::intrinsics::offset

const: 1.61.0 · source ·
pub const unsafe extern "rust-intrinsic" fn offset<Ptr, Delta>(
    dst: Ptr,
    offset: Delta
) -> Ptr
🔬This is a nightly-only experimental API. (core_intrinsics)
Expand description

计算与指针的偏移量。

这被实现为内部函数,以避免与整数进行转换,因为转换会丢弃别名信息。

这只能与 Ptr 一起使用作为裸指针类型 (*mut*const) 到 Sized 指针和与 Delta 一起使用作为 usizeisize。 任何其他实例化都可能任意行为不当,这不是编译器错误。

Safety

起始指针和结果指针都必须在已分配对象末尾的范围之内或一个字节内。 如果指针越界或发生算术溢出,则进一步使用返回值将导致不确定的行为。

此内部函数的稳定版本为 pointer::offset