c++ 学习

来源:互联网 发布:上海金棕榈数据分析师 编辑:程序博客网 时间:2024/06/10 17:23

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 使用完毕才最终释放。


原创粉丝点击