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


Swift UnsafeRawPointer advanced(by:)用法及代码示例


实例方法

advanced(by:)

返回一个偏离该值指定距离的值。

声明

func advanced(by n: Int) -> UnsafeRawPointer

返回值

从该值偏移 n 的值。

参数

n

推进此值的距离。

详述

使用通用代码中的 advanced(by:) 方法将值偏移指定距离。如果您直接使用数值,请使用加法运算符 (+) 而不是此方法。


func addOne<T: Strideable>(to x: T) -> T
    where T.Stride: ExpressibleByIntegerLiteral
{
    return x.advanced(by: 1)
}


let x = addOne(to: 5)
// x == 6
let y = addOne(to: 3.5)
// y = 4.5

如果此类型的 Stride 类型符合 BinaryInteger ,则对于值 x 、距离 n 和值 y = x.advanced(by: n)x.distance(to: y) == n 。将此方法用于具有非整数 Stride 的类型可能会导致近似值。如果前进n 的结果不能表示为该类型的值,则可能会发生运行时错误。

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 UnsafeRawPointer advanced(by:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。