单例模式了解
一般情况下,我们需要一些工具性质的类,这种类没有太多跟自身有关的数据。若每次使用时都new一个实例会增加不必要的开销,也是代码臃肿,其实我们只需要一个实例即可。若是采用全局变量或是静态变量方式,虽然可以实现但是影响了封装性。此时我们可以使用设计模式中的Singleton模式,我们把构造函数声明为private, 这样就不会被外部new了。常见的单例模式主要分两种,一种是在声明时立即实例化,这种称为“饿汉模式”,另一种是在使用时才实例化,这种称为“懒汉模式”。
单例模式C++实现
以下代码中给出了“饿汉模式”和“懒汉模式”
CSingleton类头文件:
#pragma once
class CSingleton
{
public:
static CSingleton* getInstance();
private:
CSingleton(void);
CSingleton(const CSingleton& rhs);
CSingleton& operator=(const CSingleton& rhs);
~CSinglet

本文介绍了单例模式的概念,用于解决工具类实例过多的问题,以提高代码效率和封装性。并提供了C++实现单例模式的代码示例,包括饿汉模式和懒汉模式,代码已在Windows7+VS2012环境下验证。
最低0.47元/天 解锁文章
505

被折叠的 条评论
为什么被折叠?



