質問です。VC9EEで開発しています。
以下のような関数を書いたんです。動機は自作コンテナのオブジェクトプール用のイニシャライザです。
以前の環境をリセットして再利用できるように初期化します。
で、てきとーなテストではうまくいきました。つまり、クラスや構造体のメンバ変数を0にできました。
さて、このコードはセーフなのかアウトなのか知りたいです。メモリリークなどはしてないみたいです。
そのほかにも、もっと簡単な代替手段があればご教授ください。お願いします。

template<class T>
bool ZeroInitializer(T& in){
    void* Mem = calloc(1,sizeof(T));
    if(Mem == NULL) return false;
    T* Temp = new(Mem) T;//<new>をインクルードしないと使えない。
    in = *Temp;
    delete Temp;
//  free(Mem);
    return true;
    
}