IT用語集 › プログラミング › スロットマップ

スロットマップ

プログラミング Svenska → 更新: 2026-10-26

要素を密に格納しつつ、インデックスと世代カウンタからなる安定したハンドルを返し、古いハンドルを検出して拒否できるコンテナ。

伸長する配列内のオブジェクトを指すポインタは、配列が移動したりスロットが再利用されたりした途端に無効になる。スロットマップはポインタの代わりに、インデックスと世代番号からなるハンドルを返してこれを解決する。スロットが解放されて再利用されると世代が1つ進むため、同じインデックスを指す古いハンドルは世代が合わず、静かに拒否される。

内部では、キャッシュ効率のよい走査のために要素を密に並べ、ハンドルからスロットへの変換には間接参照テーブルを使う。挿入、削除、参照はすべてO(1)。C++のゲームコードの定番で、EnTTのようなECSライブラリもこれを土台にしている。実質的には、世代付きインデックスを既製のコンテナにまとめたものである。

← 用語集に戻る