Zámky a klíče - Locks-and-keys

Zámky a klíče je řešením visící ukazatele v počítači programovací jazyky.

Přístup zámků a kláves představuje ukazatele jako uspořádané páry (klíč, adresa), kde klíč je celočíselná hodnota. Haldy-dynamické proměnné jsou reprezentovány jako úložiště proměnné plus buňka pro hodnotu celočíselného zámku. Když je alokována proměnná, a hodnota zámku je vytvořen a umístěn jak do buňky proměnné, tak do buňky klíče ukazatele. Každý přístup k ukazateli porovnává tyto dvě hodnoty a přístup je povolen, pouze pokud se hodnoty shodují.

Když je proměnná uvolněna, klíč jejího ukazatele je upraven tak, aby uchovával hodnotu odlišnou od buňky proměnné. Od té doby lze jakýkoli pokus o dereferenci ukazatele označit jako chybu. Protože kopírování ukazatele kopíruje také jeho hodnotu buňky, změna klíče uspořádaného páru bezpečně zakáže všechny kopie ukazatele.[1]

Viz také


Reference

  1. ^ Sebesta, Robert (2012). Koncepty programovacích jazyků (10. vydání). Pearson. str. 298. ISBN  0-13-139531-9.