std::shared_ptr
//http://zh.cppreference.com/w/cpp/memory/shared_ptr/shared_ptr #include <iostream> #include <memory> void fun(int* p) { } int main() { { std::shared_ptr<int> ptr = std::shared_ptr<int>(new int, fun);//这个ptr出了作用域,会自动调用fun,具体可看上面的连接 } getchar(); return 0; }