面试真题

C++ · 中等 · 百度

智能指针常见问题

中等 C++ 🎤 百度
参考答案
结论:智能指针常见问题有循环引用、线程安全、性能与误用。要点:1.shared_ptr循环引用导致控制块计数不归零内存泄漏,需用weak_ptr打破,如双向链表或父子节点;2.线程安全仅保证引用计数原子,对象本身读写需加锁;3.unique_ptr不可拷贝只能移动,误用拷贝会编译错;4.自定义删除器时注意类型擦除带来微小开销;5.不要将this直接给shared_ptr,应使用enable_shared_from_this。避免混用原生指针和智能指针防止重复释放。
题目整理自公开面经,答案由校招宝自研生成,仅供参考