c++ - 函数中的静态数据何时销毁
问题描述
我正在学习如何用 C++ 实现单例,我已经阅读了这个链接:C++ Singleton design pattern
我有一个问题:为什么“Meyers Singleton”会保证销毁?
class S
{
public:
static S& getInstance()
{
static S instance;
return instance;
}
private:
S() {}
S(S const&);
void operator=(S const&);
};
在我看来,在这种情况下,变量的销毁时间instance
也是失控的。这意味着它在主要返回后被销毁。如果我是对的,为什么它可以被视为guaranteed-destruction
?
class S
{
public:
static S& getInstance()
{
return instance;
}
S() {}
private:
static S instance;
S(S const&);
void operator=(S const&);
};
S S::instance = S();
这也是保证毁灭吗?
解决方案
推荐阅读
- macos - 启动 expo 项目失败:找不到 ps 和 grep 命令
- solidity - 质问自毁
- anylogic - 如何创建有限呼叫人口模型?
- javascript - 如果选中,则基于另一个复选框选中一个复选框
- prometheus - 普罗米修斯中的警报管理器未启动
- angular - Angular HttpClient 抛出错误状态代码
- blockchain - 如何在以太坊上获得 merkleProof?
- reactjs - ReactJS:MaterialTable - 下载按钮以调用外部异步方法
- flutter - 颤振 - 如何将平铺图像添加到我的 BoxDecoration
- npm - 无法从 GitHub Actions 发布到 npm:`
不在 npm 注册表中