読者です 読者をやめる 読者になる 読者になる

一意なID(ポインタアドレス)取得

sbcl

たまに、(正確な用語ではないが)オブジェクトごとに一意なIDを取得したいことがある。
Cで云うポインタがあれば、それが適切なのだが、common lispにはポインタを取得する方法は定義されていない(と思う)。


ただ、SBCLに限れば、ポインタ(アドレス)を取得する方法があったので、それをオブジェクトのIDとして扱うことが出来る。

(defun obj-id (obj)
  (sb-kernel:get-lisp-obj-address obj))