>>128
生成は各entityが任意にnewしてEntity管理クラスに突っ込み、
entityMgr.Add(new CEnemy); // class CEnemy : public CCharacter

各entityが初期化時に必要に応じて描画管理クラスやコリジョン管理クラスに自身を登録してます。
renderer.Add(this);
collisionMgr.Add(this);

各管理クラスが全登録インスタンスの仮想関数 Update(), Render(), Collide() を呼び出しており、
entity間のやりとりはentityMgr経由でメッセージを送受信して行ってます。

破棄は自分自身でentity管理クラスに破棄要求を出してentity管理クラスがインスタンスをdeleteします。
entityMgr.Remove(this);

なんだか鬱設計ですね。