私はtr1shared_ptr(C++0xまたはC++11にまだ更新されていない作業)を使用しており、カスタムアロケーターと削除機能を持つクラスFooでstd :: tr1::shared_ptrを使用する必要があります。
現在、Fooは次のコードによって割り当て/割り当て解除されています。
void createFoo(Foo** mem) {
*mem = (Foo *) malloc(sizeof(Foo));
memset(*mem, 0, sizeof(Foo));
}
と
void deleteFoo(Foo* mem) {
// code to call recursive methods to delete Foo substructures
memset(...)
}
std::tr1::shared_ptr<Foo>
createFooとdeleteFooを使用して宣言するにはどうすればよいですか?