Go 1.24 привнес в язык новый тип указателей – слабые указатели (weak pointers). В этой статье разберёмся, что они из себя представляют, как устроены внутри компилятора и runtime, а также как их использовать для оптимизации кода. Мы подробно изучим внутреннее устройство новых указателей, примеры их применения (например, для создания самоочищающихся кешей) и посмотрим, как они работают под капотом с точки зрения управления памятью и производительности. Читать далее
24 ноября 2021 года на сайте ArXiv.org была опубликована научная статья «Крошечные указатели» (Tiny Pointers) с описанием новой структуры данных — «крошечных» указателей, которые указывают путь к фрагменту хранимых данных и занимают меньше памяти, чем традиционные указатели. Осенью…
Привет, интернет. Решил написать статью об указателях на методы классов. Недавно мне пришлось столкнуться с тем, как они работают изнутри, когда писал некоторые вещи ориентированные под компилятор. Эти указатели работают не совсем как обычные указатели, не имеют возможности быть приведенными в void, и часто имеют размер больше 8 байт. Информации на эту тему в интернете я нашел относительно немного, потому решил разобраться сам. Читать дальше →
Меня зовут Дмитрий Солдатенко, я разработчик в Ви.Tech, IT-дочке ВсеИнструменты.ру. И теперь, когда формальное представление завершено, хочу поделиться своим, местами не очень формальным, батхертом по поводу слабых указателей.Предполагается, что вы пишете на Go и хотя бы на уровне…