ところで、C++とかでオブジェクトを作るときに2 phases construction/destructionっていう
方法があるんですけど、どれくらい使ってる人います?

class MyClass {
public:
MyClass();
~MyClass();
bool Create();
bool Destroy();
private:
void Initialize();
int data;
// etc...
};

んでまず、コンストラクタではメンバーをイニシャライズするのみ。
Createを呼んだ時点ではじめてメモリーに何か読み込むとかの処理をする。
だからデストラクタはDestroyを呼ぶだけ。

だから、どこから来たのかわからないオブジェクトを再利用したい時は
DestroyしてからCreateすれば確実にきれいな状態からはじめられる。

ただ2段階にしただけなんだけど、これだけで結構硬い構造になると思う。