Springhead
An open source physics engine for virtual reality, haptics and motion generation.
参照カウンタ/参照ポインタクラス

参照カウンタは,複数のポインタで共有されたオブジェクトのメモリの開放を 参照するポインタが無くなった時に自動的に行う仕組み. これを使うと delete を書く必要がなくなる. ポインタ [詳細]

構成

class  UTRefCount
 参照カウンタ.UTRef<T>で指されるクラスTは, これを1つだけ継承する必要がある. [詳細]
 
class  UTRef< T >
 参照カウンタ用のポインタ.自動的に参照カウンタを増減, カウンタが0になったら,オブジェクトをdeleteする. [詳細]
 
class  UTRefArray< T, CO >
 UTRefの配列. [詳細]
 
class  UTDeleteRef< T >
 一般オブジェクト用,自動delete ポインタ ポインタが消えるときにオブジェクトをdeleteをする. カウンタはついてないので,複数の UTDeleteRef でオブジェクトを 指すことはできない. [詳細]
 

説明

    T* p = new T;

の代わりに,

    UTRef<T> p = new T;
    UTRef<T> p2 = p;

とすると,pとp2の両方が消えたときに, p/p2 が指すオブジェクトもdeleteされる.