Spr1のBaseパッケージ Spr1のC++で物体や関節を動かすには?

C++では,メモリを new で確保して delete で削除します. new してない領域を指すポインタを delete したり,delete を忘れると 一般保護違反やメモリリークというやな問題が起き,特にメモリリークを なくすのはとても面倒です. そこで,C++に便利なポインタを導入するのが参照カウンタテンプレート クラスです.

参照カウンタとは,ポインタに指されるオブジェクトに,参照しているポインタ の数を書いておき,0になったら自動的に削除する仕組みです. 参照ポインタ(Spr::UTRef)は,参照するときにカウンタ値を増やし, 参照しなくなるときにカウンタ値を減らし,カウンタが0だったら delete します.

参照カウンタは UTRefCount 基本クラスに定義されています. 参照ポインタはUTRefCountクラスを継承したクラスにだけ使えます.