The type to bind this memory to. このメモリに束縛することになる型。
initializeMemory(as:repeating:count:)
Availability
- iOS 8.0+
- iPadOS 8.0+
- macOS 10.10+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
- Xcode 9.3+
Technology
- Swift Standard Library Swift標準ライブラリ
Declaration 宣言
@discardableResult func initializeMemory<T>(as type: T.Type, repeating repeatedValue: T, count: Int
) -> UnsafeMutablePointer
<T>
Parameters パラメータ
type
repeatedValue
The instance to copy into memory. メモリにコピーすることになるインスタンス。
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 self
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.
このメソッドを生のポインタp
上で呼び出した後、self
で始まってp + count * Memory
まで続く領域は、型T
に束縛されて初期化されます。T
が非自明型ならば、あなたはゆくゆくはデイニシャライズするかまたはこの領域の値から移動してリークを防がなければなりません。