单例模式就是全局只需要1个实例,所以写成
ComponentFactory & ComponentFactory::instance() { static std::shared_ptr<ComponentFactory> _instance; if (_instance == nullptr) { _instance.reset(new ComponentFactory()); } return *_instance; }
这个样子
单例的用途之一:一个类它的实例的成员变量在一个地方作了改变,我在别的地方用到这个这个类的实例,需要的是改变过的,这种情况可以用单例