单体模式就是保证一个类至始至终只要一个实例,要实现单体必须保证以下几点:
- 构造函数为Private或者Protected
- 析构函数应当为Private或者Protected(没有严格说明)
- 拷贝构造函数和赋值操作符operator=必须为Private或Protected,且只声明不实现(不实现可视情况而定)
C++ 线程安全的单例模式
1. 需要注意的一点,C++中当我们定义了任何一个构造函数(包括拷贝构造函数)时,编译器便不会为我们提供缺省的默认构造函数,但是只要我们没有定义拷贝构造函数,复制操作符operator=以及析构函数时,系统都会为我们提供一个默认的版本。所以不要以为将构造函数设为Private或Protected就万事大吉了,事实并非如此,你必须显示的将复制函数(拷贝构造函数+复制操作符)同时声明为Pri