一些特殊的手写题也要准备【单例模式】

本文探讨了C++中实现单例模式的方法,如使用静态指针确保唯一实例,并讨论了如何正确地析构单例,包括采用智能指针作为持有方式以确保资源的释放。此外,文章还提到了其他常见的算法题,如LRU缓存、多线程交替打印和阻塞队列的实现,这些都是程序员面试中可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

像这种特殊的算法题也要准备准备,很可能突然写不出。像单例,实现lru,多线程交替打印,实现一个blockingqueue啥的

有一篇讲单例的文章挺好的,大概这样写吧

class Singleton {
private:
	static Singleton* uniqueInstance; // 私有静态指针指向唯一实例
	Singleton(); // 构造函数私有
public:
	static Singleton& getInstance() { // 获得实例
		return *uniqueInstance;
	}
}

如何正确析构

几种办法

  1. 改变持有方式,变为类成员
  2. 手动delete单例
  3. 使用智能指针
    https://zhuanlan.zhihu.com/p/448993563
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值