STL effectiv 条款7 复习 未完成

该条款很好的解决了  容器中存放指针释放的问题,for_each函数调用可以参考自己的前面的博客

 为什么会有这个条款呢

很多时候 我们将new过的指针存放到容器中,我们有时候错误的认为  容器对象析构的时候会像容器对象自己析构的时候也析构容器中存放的对象一样的行为,会为我们析构new过之后存放的指针   其实不然!new好的指针存放到容器中,也需要容器一次遍历delete每一个指针。

最原始的方法再for一次每一个delete  ,改进方法使用for_each方法构建一个 delete指针的函数对象传入到for_each函数中去。

最骚的方法就是使用指针指针share_ptr  ,他有引用计数,完美的解决了容器中指针delete的问题 

下面看比较的代码    骚不骚 

代码还没来






原文地址:https://www.cnblogs.com/zhangkele/p/10550772.html