关于普通指针转换为智能指针的一些问题

  问题来源于需要将项目的share_ptr<T> 改成const T。如果一个普通指针ptr而言,如果用其构造智能指针sm_ptr,那么sm_pt在引用结束的时候会delete一次ptr。

如果ptr的new以及delete不由我们管理(也就是说外部还有一个delete),这个时候就double free了。

  总结一下,除非是自己new出来的指针,不然最好不要用普通指针构建shared_ptr。

posted @ 2021-07-09 17:31  猪突猛进!!!  阅读(343)  评论(0编辑  收藏  举报