1. shared_ptr 使用
test2(shared_ptr<char> g); 《2》
test() {
shared_ptr<char> sp(new char[4096]); 《1》
test2(sp);
shared_ptr<char> ap(sp); 《3》
test2(ap);
.......
}
使用 shared_ptr 的时候,在《1》 处,对管理的资源,就是4k buffer生成一个计数器, 在以后的调用中, 例如 《2》,《3》 可以自由使用该buffer, 在 test 函数退出的时候,会自动的销毁 4k buffer。且,如果 test2 里面是一个线程,在 test 退出后,还可以使用 buffer, test2 使用完毕才最终释放。