DevPrep

Все темы › Основные понятия программирования

Память

Junior

Иерархия памяти

Чем ближе память к процессору, тем она быстрее и меньше:

Стек и куча — то, о чём спросят

Внутри RAM у процесса есть две области, важные для Swift:

struct Point { var x: Double; var y: Double }   // значение — обычно на стеке
final class Node { var next: Node? }            // объект — всегда в куче

func demo() {
    let p = Point(x: 1, y: 2)  // 16 байт в кадре стека, исчезнут при выходе
    let n = Node()  // malloc + счётчик ссылок; умрёт при count == 0
    var points = [p]  // буфер массива — в куче, хотя Array — struct
    points.append(Point(x: 3, y: 4))
    _ = n
}

Почему это важно для iOS

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store