2014-01-19 7 views
9

Я читал о переполнении целого числа в википедии и натолкнулся на термин Указатель Swizzling в см. Также collumn.
Я googled о указателе swizzling, но не мог понять его.
Может кто-нибудь объяснить, что такое указатель swizzling?Что такое указатель swizzling?

+5

Я думаю, что список связанных ссылок на [wikipedia] (http://en.wikipedia.org/wiki/Pointer_swizzling) превосходный. Вы не хотите сохранять текущие ячейки памяти, но их относительные позиции (сериализация/сохранение = разворот, десериализация/загрузка = swizzling) – keyser

ответ

13

Эта страница на Википедии объясняет это, но позвольте мне сказать это по-другому.

Скажем, у вас есть структура данных двоичного дерева в памяти и вы хотите сохранить структуру на диск. Вы не можете просто написать структуру на диск, потому что указатели будут недействительными на диске. Также, когда вы позже захотите прочитать двоичное дерево с диска обратно в память, адреса, используемые в исходной копии памяти этого дерева, могут быть использованы в новом процессе: .

Указатель swizzling преобразует указатели в ручки при записи из памяти на диск, , а также конвертирует ручки в (разные) указатели при чтении данных диска обратно в память.

+3

примечание: swizzling и unswizzling – keyser

+3

Хороший ответ Профессор Beuning. –

Смежные вопросы