请实现一个简化版 shared_ptr,要求包含构造函数、析构函数、拷贝构造、移动构造、拷贝赋值、移动赋值以及引用计数查看函数,并说明为什么引用计数需要放在堆区并用指针指向它。
考察说明
考察 C++ 资源管理、智能指针语义和引用计数设计
回答思路
- 正确实现默认构造与带指针构造
- 正确处理拷贝与赋值的引用计数增减
- 正确实现移动语义,转移所有权且不增加计数
- 说明引用计数放堆区的原因:多实例共享同一计数,生命周期独立于栈上变量
- 实现引用计数查看函数并注意线程安全边界
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。