Type Method 型メソッド

allocate(capacity:)

Allocates uninitialized memory for the specified number of instances of type Pointee. Pointeeの指定された数のインスタンスに対して初期化されないメモリをアロケートします。

Declaration 宣言

static func allocate(capacity count: Int) -> UnsafeMutablePointer<Pointee>

Parameters パラメータ

count

The amount of memory to allocate, counted in instances of Pointee. アロケートするメモリの総量、Pointeeのインスタンスで数えられます。

Discussion 解説

The resulting pointer references a region of memory that is bound to Pointee and is count * MemoryLayout<Pointee>.stride bytes in size. 結果のポインタはあるメモリ領域を参照します、それはPointeeに束縛されます、そしてcount * MemoryLayout<Pointee>.strideバイトの大きさです。

The following example allocates enough new memory to store four Int instances and then initializes that memory with the elements of a range. 以下の例は、新しいメモリを必要なだけアロケートすることで、4つのIntインスタンスを格納して、それからそのメモリをある範囲に属するいくらかの要素で初期化します。


let intPointer = UnsafeMutablePointer<Int>.allocate(capacity: 4)
for i in 0..<4 {
    (intPointer + i).initialize(to: i)
}
print(intPointer.pointee)
// Prints "0"

When you allocate memory, always remember to deallocate once you’re finished. あなたがメモリをアロケートする場合、あなたがやり終えるやいなやデアロケートするのを常に忘れないでください。


intPointer.deallocate()