采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问下什么情况会产生shared_ptr的相互引用,从而知道用weak_ptr去避免相互引用;有实际的应用场景吗
shared_ptr的相互引用通常发生在两个对象互相持有对方的shared_ptr实例时,这样会导致对象之间形成循环引用,当不再需要这两个对象时,它们也会因为互相持有shared_ptr而无法被释放,导致内存泄漏;引用对象之间形成的环状数据结构时常常会发生,比如图的节点相互引用,在这种情况下,如果节点之间使用 shared_ptr相互引用,可能会导致内存泄漏。使用weak_ptr则可以避免这种情况。
登录后可查看更多问答,登录/注册
一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维
1.6k 12
1.5k 12
1.8k 10
1.5k 9
1.4k 9
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号