The type to bind this memory to. このメモリに束縛することになる型。
initializeMemory(as:from:count:)
Availability
- iOS 8.0+
- iPadOS 8.0+
- macOS 10.10+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
- Xcode 8.0+
Technology
- Swift Standard Library Swift標準ライブラリ
Declaration 宣言
@discardableResult func initializeMemory<T>(as type: T.Type, from source: UnsafePointer
<T>, count: Int
) -> UnsafeMutablePointer
<T>
Parameters パラメータ
type
source
A pointer to the values to copy. The memory in the region
source..<(source + count)
must be initialized to typeT
and must not overlap the destination region. コピーされる値に対するポインタ。領域source..<(source + count)
の中のメモリは、型T
に初期化されなければなりません、そして行き先の領域と重なってはいけません。count
The number of copies of
value
to copy into memory.count
must not be negative. メモリにコピーすることになるvalue
のコピー数。count
は負数であってはいけません。
Return Value 戻り値
A typed pointer to the memory referenced by this raw pointer. この生のポインタによって参照されるメモリへの型付ポインタ。
Discussion 解説
The memory referenced by this pointer must be uninitialized or initialized to a trivial type, and must be properly aligned for accessing T
.
このポインタによって参照されるメモリは、未初期化状態にされるまたは自明型に初期化されなければなりません、そしてT
にアクセスするために適切にアラインされなければなりません。
The following example allocates enough raw memory to hold four instances of Int8
, and then uses the initialize
method to initialize the allocated memory.
以下の例は、生のメモリを必要なだけアロケートすることで、4つのInt8
インスタンスを保持して、それからinitialize
メソッドを使ってアロケートされたメモリを初期化します。
After calling this method on a raw pointer p
, the region starting at p
and continuing up to p + count * Memory
is bound to type T
and initialized. If T
is a nontrivial type, you must eventually deinitialize or move from the values in this region to avoid leaks. The instances in the region source..<(source + count)
are unaffected.
このメソッドを生のポインタp
上で呼び出した後、p
で始まってp + count * Memory
まで続く領域は、型T
に束縛されて初期化されます。T
が非自明型ならば、あなたはゆくゆくはデイニシャライズするかまたはこの領域の値から移動してリークを防がなければなりません。領域source..<(source + count)
の中のインスタンスは、影響を受けません。