Lessico IT › Programmazione › Slot map

Slot map

Programmazione Svenska → Aggiornato: 2026-10-26

Un contenitore che memorizza gli elementi in modo denso ma restituisce handle stabili composti da un indice e da un contatore di generazione, così un handle obsoleto viene riconosciuto e rifiutato.

I puntatori a oggetti in un array che cresce diventano invalidi nel momento in cui l'array viene spostato o uno slot viene riutilizzato. Una slot map risolve il problema restituendo un handle, cioè un indice e un numero di generazione, al posto di un puntatore. Quando uno slot viene liberato e riutilizzato, la sua generazione aumenta, quindi un vecchio handle che punta allo stesso indice porta la generazione sbagliata e viene rifiutato senza clamore.

Internamente gli elementi sono memorizzati in modo denso per un'iterazione favorevole alla cache, con una tabella di indirezione che traduce gli handle in slot. Inserimento, cancellazione e ricerca sono tutti O(1). Il pattern è un classico del codice C++ per i giochi (librerie ECS come EnTT ne fanno uso) ed è, in pratica, un indice generazionale confezionato come contenitore già pronto.

← Torna al lessico