Instance Method インスタンスメソッド

distance(to:)

Returns the distance from this pointer to the given pointer, counted as instances of the pointer’s Pointee type. このポインタから与えられたポインタまでの隔たりを返します、ポインタのもつPointee型のインスタンスとして数えられます。

Declaration 宣言

func distance(to end: AutoreleasingUnsafeMutablePointer<Pointee>) -> Int

Parameters パラメータ

end

The pointer to calculate the distance to. それへの隔たりを計算されるポインタ。

Return Value 戻り値

The distance from this pointer to end, in strides of the pointer’s Pointee type. To access the stride, use MemoryLayout<Pointee>.stride. このポインタからendまでの隔たり、ポインタのもつPointee型のストライドで。ストライドにアクセスするには、MemoryLayout<Pointee>.strideを使ってください。

Discussion 解説

With pointers p and q, the result of p.distance(to: q) is equivalent to q - p. ポインタpqでは、p.distance(to: q)の結果はq - pと同等です。

Typed pointers are required to be properly aligned for their Pointee type. Proper alignment ensures that the result of distance(to:) accurately measures the distance between the two pointers, counted in strides of Pointee. To find the distance in bytes between two pointers, convert them to UnsafeRawPointer instances before calling distance(to:). 型付ポインタは、適切にそれらのPointee型にアラインされることを要求されます。適切なアライメントは、distance(to:)の結果が正確に2つのポインタの間の隔たりを、Pointeeのストライドで数えて、測ることを確実にします。2つのポインタの間の隔たりをバイトで知るには、それらをUnsafeRawPointerインスタンスに、distance(to:)を呼ぶ前に変換してください。