SystemAbilityManagerClient& SystemAbilityManagerClient::GetInstance()
{
static auto instance = new SystemAbilityManagerClient();
return *instance;
}
这个是单例模式吗?如果是请解释为什么?
SystemAbilityManagerClient& SystemAbilityManagerClient::GetInstance()
{
static auto instance = new SystemAbilityManagerClient();
return *instance;
}
这个是单例模式吗?如果是请解释为什么?
这是单例模式。当第一次调用SystemAbilityManagerClient::GetInstance()时,初始化静态变量instance创建一个SystemAbilityManagerClient对象。之后再调用SystemAbilityManagerClient::GetInstance()就直接返回instance所指的对象。
另外支持C++11的编译器,可以直接这样写
SystemAbilityManagerClient& SystemAbilityManagerClient::GetInstance()
{
static SystemAbilityManagerClient instance;
return instance;
}