我正在使用 tr1 shared_ptr(工作尚未更新到 C++0x 或 C++11),我需要将 std::tr1::shared_ptr 与具有自定义分配器和删除器的类 Foo 一起使用。
目前 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 ?