Gleb Tarasov
1 min readDec 11, 2018

--

Пришлось вернуться к этому вопросу, потому что обсуждали этот вопрос на интервью, почему это компилируется:

struct S {
var arr: [S]
}

Насколько я понимаю, массив (и другие структуры вроде dict или set) на стеке хранит только метаданные, а сама память для элементов выделяется в куче, так что размер под массив внутри структуры можно заложить во время компиляции, т.к. там только метаданные.

--

--

Responses (1)