Назад к вопросам
СБЕР
Junior — Middle
74
Мог бы ты привести пример использования динамического выделения памяти для хранения структуры данных?
Компании, где спрашивали
GreenData
Ответ от нейросети
sobes.tech AI
В iOS для динамического выделения памяти часто используют классы, которые управляют памятью автоматически, например, NSMutableArray или Swift Array. Но если говорить о более низком уровне, можно использовать функции malloc и free для выделения памяти под структуру данных.
Пример на Swift с использованием UnsafeMutablePointer для динамического массива структур:
struct Point {
var x: Int
var y: Int
}
let count = 5
let pointer = UnsafeMutablePointer<Point>.allocate(capacity: count)
for i in 0..<count {
pointer.advanced(by: i).initialize(to: Point(x: i, y: i * 2))
}
// Использование данных
for i in 0..<count {
let point = pointer.advanced(by: i).pointee
print("Point \(i): (\(point.x), \(point.y))")
}
// Освобождение памяти
pointer.deinitialize(count: count)
pointer.deallocate()
Такой подход позволяет вручную управлять памятью, что полезно при работе с низкоуровневыми API или оптимизации производительности.