ポインター・ヒープ変数

a=ptr_new(b)
新しいヒープ変数にbの値をコピーし、それを指すポインタを作成する。
a=ptr_new(b,/no_copy)
ヒープ変数bを指すポインタを作成し、bを未定義にする。すなわちa=ptr_new(temporary(b))と同じ。
a=ptr_new()
NULLポインタを作成する。
a=ptr_new(/allocate_heap)
未定義のヒープ変数を指すポインタを作成する。
a=ptrarr(10)
NULLポインタの配列を作成。nozeroキーワードでNULLに初期化されない。allocate_heapキーワードで各ポインタは未定義のヒープ変数を指す。
*a
aが指すヒープ変数を返す。*aが構造体の場合、その構造体に含まれるフィールドを得るには演算子の優先順位のため(*a).bとしなければならない。
ptr_valid(a)
ポインタaが存在する正しいヒープを指しているときは1、そうでないとき0を返す(Byte型)。
ptr_free,a
ポインタaの指すヒープを解放。a自体は変更されない。
help,/heap_variables
ヒープの利用状況を見る。
heap_gc
ヒープ変数のガベージ・コレクションを行う。IDL 8.0からは自動的にガベージ・コレクションが行われるようになったので、自動的ガベージ・コレクションをoffにしているのでない限りheap_gcを実行する必要はない。
西田圭佑 (NISHIDA Keisuke)
nishida at kwasan.kyoto-u.ac.jp
$Id: pointer.html,v 1.2 2013/05/01 09:40:06 nishida Exp $