Motivation:
serialization library依赖一系列的静态变量和存储运行时类型的信息的表。例如存储名字和对应类型的表。存储基类和派生类的关系的表。构造,析构和静态变量的使用需要参考一下机制:
*一些静态变量和常量指向别人。初始化的必须合理有序而不能是随意的。
*一些静态变量并没有显示指定,并且没有特殊的预定义,将会被许多编译优化选项去掉
* 这些变量大多都是用模板创建的必须确保他们被实例化
*在多线程系统中,这些静态变量将会被不同的线程并发访问,这将会产生竞争的现象。其结果是无法预期的。
这个单例类解决了上诉的所有问题。
Feature:
此单例的实现拥有一下特性。
*所有的单例将会在被使用前构造完成。
*所有用模板创建的实例确保被实例化。
*无论一个实例是否被显示应用,在构造release模式的可执行文件时&