CPPPROGLIB Telegram 6085
💡 Pointer Tagging в C++: искусство упаковки битов в указатель

Автор статьи рассказывает о технике pointer tagging — упаковке дополнительных данных прямо в указатели, используя неиспользуемые биты.

Ключевые моменты статьи:

• 64-битный указатель использует только 48 бит для адресации, оставляя 16 бит свободными
• malloc выравнивает память по 16-байтным границам, освобождая нижние 4 бита
• в итоге получается 20 свободных бит для хранения метаданных

Основной фокус — практическая реализация tagged_ptr в C++ с автоматическим маскированием битов и поддержкой стандартных операторов указателей.

Особенно актуально для разработчиков высокопроизводительных систем, работающих с динамическим полиморфизмом и древовидными структурами данных.

Вы узнаете, как Chrome V8 использует эту технику для различения целых чисел и ссылок на объекты, а ядро Linux — для хранения цвета узла в красно-чёрном дереве прямо в указателе на родителя.

➡️ Статья

Библиотека C/C++ разработчика

#буст
10🔥7👍1🥰1



tgoop.com/cppproglib/6085
Create:
Last Update:

💡 Pointer Tagging в C++: искусство упаковки битов в указатель

Автор статьи рассказывает о технике pointer tagging — упаковке дополнительных данных прямо в указатели, используя неиспользуемые биты.

Ключевые моменты статьи:

• 64-битный указатель использует только 48 бит для адресации, оставляя 16 бит свободными
• malloc выравнивает память по 16-байтным границам, освобождая нижние 4 бита
• в итоге получается 20 свободных бит для хранения метаданных

Основной фокус — практическая реализация tagged_ptr в C++ с автоматическим маскированием битов и поддержкой стандартных операторов указателей.

Особенно актуально для разработчиков высокопроизводительных систем, работающих с динамическим полиморфизмом и древовидными структурами данных.

Вы узнаете, как Chrome V8 использует эту технику для различения целых чисел и ссылок на объекты, а ядро Linux — для хранения цвета узла в красно-чёрном дереве прямо в указателе на родителя.

➡️ Статья

Библиотека C/C++ разработчика

#буст

BY Библиотека C/C++ разработчика | cpp, boost, qt




Share with your friend now:
tgoop.com/cppproglib/6085

View MORE
Open in Telegram


Telegram News

Date: |

So far, more than a dozen different members have contributed to the group, posting voice notes of themselves screaming, yelling, groaning, and wailing in various pitches and rhythms. With the “Bear Market Screaming Therapy Group,” we’ve now transcended language. While some crypto traders move toward screaming as a coping mechanism, many mental health experts have argued that “scream therapy” is pseudoscience. Scientific research or no, it obviously feels good. A vandalised bank during the 2019 protest. File photo: May James/HKFP.
from us


Telegram Библиотека C/C++ разработчика | cpp, boost, qt
FROM American