Новые (?) пути управления памятью Указатели в языках C и C++ — те еще штучки. Они чрезвычайно мощные, но в то же время такие опасные: достаточно небольшого недосмотра, чтобы сломать все ваше приложение. Проблема в том, что управление указателями полностью зависит от вас. За каждым…
Привет, интернет. Решил написать статью об указателях на методы классов. Недавно мне пришлось столкнуться с тем, как они работают изнутри, когда писал некоторые вещи ориентированные под компилятор. Эти указатели работают не совсем как обычные указатели, не имеют возможности быть приведенными в void, и часто имеют размер больше 8 байт. Информации на эту тему в интернете я нашел относительно немного, потому решил разобраться сам. Читать дальше →
Только задумайтесь: мы всё чаще используем умные холодильники, машины розетки и лампочки, умные часы и колонки. Нас окружают умные вещи и умные люди. Но насколько они умные и так ли нужна эта "умность"? А ещё — насколько легко взломать эти умные вещи? Часы, например, несложно. Давайте посмотрим другой пример: умную зубную щётку. Читать далее
Go 1.24 привнес в язык новый тип указателей – слабые указатели (weak pointers). В этой статье разберёмся, что они из себя представляют, как устроены внутри компилятора и runtime, а также как их использовать для оптимизации кода. Мы подробно изучим внутреннее устройство новых указателей, примеры их применения (например, для создания самоочищающихся кешей) и посмотрим, как они работают под капотом с точки зрения управления памятью и производительности. Читать далее