面试真题

C++ · 中等 · 小米

简述智能指针种类以及使用场景

中等 C++ 🎤 小米
参考答案
结论:C++智能指针主要有unique_ptr、shared_ptr、weak_ptr。unique_ptr独占所有权,不可拷贝只能移动,适用单一所有者资源管理;shared_ptr引用计数,多指针共享对象,计数为0释放,适用共享资源;weak_ptr弱引用不增计数,解决shared_ptr循环引用,需lock提升,常用于观察者模式。示例:auto up=make_unique<int>(1); auto sp=make_shared<int>(2); weak_ptr<int> wp=sp; 对比:unique零开销,shared有原子计数开销。
题目整理自公开面经,答案由校招宝自研生成,仅供参考