Jump to content

Замки и ключи

Замки и ключи — это решение проблемы висящих указателей в языках программирования .

Подход «замки и ключи» представляет указатели в виде упорядоченных пар (ключ, адрес), где ключ является целочисленным значением. Динамические переменные кучи представлены как хранилище для переменной плюс ячейка для целочисленного значения блокировки. При выделении переменной создается значение блокировки , которое помещается как в ячейку переменной, так и в ключевую ячейку указателя. При каждом доступе к указателю сравниваются эти два значения, и доступ разрешен только в том случае, если значения совпадают.

Когда переменная освобождается, ключ ее указателя модифицируется и содержит значение, отличное от значения ячейки переменной. С этого момента любая попытка разыменовать указатель может быть помечена как ошибка. Поскольку копирование указателя также копирует значение его ячейки, изменение ключа упорядоченной пары безопасно отключает все копии указателя. [ 1 ]

См. также

[ редактировать ]


  1. ^ Себеста, Роберт (2012). Концепции языков программирования (10-е изд.). Пирсон. п. 298. ИСБН  0-13-139531-9 .


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8423c4a31c6666174b0f436cf3d2b4c0__1587313380
URL1:https://arc.ask3.ru/arc/aa/84/c0/8423c4a31c6666174b0f436cf3d2b4c0.html
Заголовок, (Title) документа по адресу, URL1:
Locks-and-keys - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)