Сколько будет весить массив в зависимости от количества данных в нем

«Сколько будет весить массив в зависимости от количества данных в нем» — вопрос из категории Алгоритмы и структуры данных, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Swift массивы являются структурами (value types) и хранятся в стеке (если не слишком большие) или куче. Размер массива зависит от количества элементов и их типа.

Пример с Int:

let array = [1, 2, 3] 
// Каждый Int занимает 8 байт (64-битная система)
// + 16 байт на метаданные массива
// Общий вес: 16 + 8*3 = 40 байт

Для reference типов (классов) массив хранит указатели (8 байт каждый). Размер массива динамически изменяется при добавлении элементов, но выделяется с запасом для оптимизации.

Важно: точный размер зависит от реализации Swift и может меняться. Для точных измерений используйте MemoryLayout.size(ofValue:).