Я видел множество сообщений о том, как захват переменной захватывает переменные для создания закрытия, однако все они, похоже, перестают быть конкретными деталями и называют все это "магией компилятора".
Я ищу четкое объяснение:
- Как фиксируются локальные переменные.
- Разница (если она есть) между типами значений привязки и ссылочными типами.
- И существует ли какой-либо бокс, относящийся к типам значений.
Мое предпочтение было бы ответом с точки зрения значений и указателей (ближе к сердцу того, что происходит внутри), хотя я также принимаю ясный ответ, включающий значения и ссылки.