allocate(capacity:)
Allocates uninitialized memory for the specified number of instances of type Pointee.
Declaration
static func allocate(capacity count: Int) -> UnsafeMutablePointer<Pointee>Parameters
- count:
The amount of memory to allocate, counted in instances of
Pointee.
Discussion
The resulting pointer references a region of memory that is bound to Pointee and is count * MemoryLayout<Pointee>.stride bytes in size.
The following example allocates enough new memory to store four Int instances and then initializes that memory with the elements of a range.
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()You must only use deallocate() to end the lifetime of memory created with allocate(); it is a programming error to use free or another deallocation API, and may result in undefined behavior.