面试真题

C++ · 中等 · 字节跳动

C++weak_ptr

中等 C++ 🎤 字节跳动
参考答案
结论:weak_ptr是弱引用智能指针,配合shared_ptr使用,不增加引用计数,解决循环引用和临时所有权。要点:1.由shared_ptr构造如auto wp=weak_ptr(sp); 2.不拥有对象,不影响生命周期;3.使用前lock()提升为shared_ptr,存活则返回否则空;4.expired()检查是否释放;5.应用:观察者模式、缓存、打破shared_ptr循环引用。对比:shared_ptr强引用计数0删对象,weak_ptr不增计数避免内存环。
题目整理自公开面经,答案由校招宝自研生成,仅供参考