像这种特殊的算法题也要准备准备,很可能突然写不出。像单例,实现lru,多线程交替打印,实现一个blockingqueue啥的
有一篇讲单例的文章挺好的,大概这样写吧
class Singleton {
private:
static Singleton* uniqueInstance; // 私有静态指针指向唯一实例
Singleton(); // 构造函数私有
public:
static Singleton& getInstance() { // 获得实例
return *uniqueInstance;
}
}
如何正确析构
几种办法
- 改变持有方式,变为类成员
- 手动delete单例
- 使用智能指针
https://zhuanlan.zhihu.com/p/448993563