施磊C++开发高级提升C++面试和开发能力
应用场景
在应用系统开发中,我们常常有以下需求:
在多个线程之间,比如初始化一次socket资源(已报名施老师c++底部评);比如servlet环境,共享同一个资源或者操作同一个对象
在整个程序空间使用全局变量,共享资源
大规模系统中,为了性能的考虑,需要节省对象的创建时间等等。
使用方法
a) 构造函数私有化(设置为private) =>防止从类外调用构造函数,保证在任何情况下只生成一个实例;
b) 提供一个全局的静态方法GetInstance(全局访问点) =>便于提供从类外部获取单例类的唯一实例的方法;
c) 在类中定义一个静态指针,指向本类的变量的静态变量指针。