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;
}