C++ 单例初始化顺序

2023-12-11

I have

class Foo
class Bar

现在,我想要

Foo* Foo::singleton = new Foo();
Bar* Bar::singleton = new Bar();

之前都初始化

int main()

叫做。

此外,我想要

Foo::singleton

之前初始化

Bar::singleton

我能保证吗?

Thanks!


在同一翻译单元中定义的全局变量(如单例)按照它们定义的顺序进行初始化。因此,将两个单例的定义按照正确的顺序放在同一个源文件中。

如果它们在不同的源文件中定义,则它们的初始化顺序将是未指定的(“静态初始化顺序惨败").

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 单例初始化顺序 的相关文章

随机推荐

  • 如果导入 iostream 为什么要使用命名空间

    我是 C 初学者 最近接触了 std 等命名空间 但是 如果像 cout 和 endl 这样的函数是在 iostream 头文件中定义的 为什么还要包含 std 命名空间呢 或者这些函数实际上是在 std 命名空间中定义的吗 如果是这样 那
  • 精度为 2 的小数的简单正则表达式

    精度为 2 的小数的正则表达式是什么 有效示例 123 12 2 56754 92929292929292 12 0 21 3 1 无效示例 12 1232 2 23332 e666 76 小数点可以是可选的 也可以包括整数 有效的正则表达
  • 如何从点列表中找到最近的坐标?

    假设我有一个 x y 坐标列表 如下所示 A 26 63 23 63 22 63 21 63 20 63 22 62 27 63 我有一个点的 x y 坐标 如下所示 leftbottom 0 238 现在 我想找到距离最近的点leftbo
  • Marshal.FreeHGlobal() 如何工作?

    我有一个基于 C 的 UI 它使用基于 C 的 DLL 我的要求是将一大块内存从 C 传递到 DLL DLL 将写入此内存缓冲区并将其传回 C 我已经使用 IntPtr 和全局内存函数来执行此操作 一切正常 问题是 如何验证 Marshal
  • 将 Inno Setup WizardForm.Color 转换为 RGB

    如果我尝试这个 Setup AppName MyApp AppVerName MyApp DefaultDirName pf MyApp DefaultGroupName MyApp OutputDir Code function Colo
  • 如何使用 Tidhttp 发出带有名为 xml 的参数的 Get 请求?

    我已成功使用 Delphi 2010 发出 http get 请求 但对于一项需要名为 xml 的参数的服务 请求失败并出现 HTTP 1 1 400 Bad Request 错误 我注意到调用相同的服务并省略 xml 参数是有效的 我尝试
  • 将文件内容重定向到php中的标准输入

    我有一个文件abc txt内容如下 hello hi good bad 现在 如何将文件的内容逐行重定向到php脚本的标准输入 这样当执行 php 脚本时 它可以通过以下任何命令收集输入 f fopen php stdin r line f
  • 视图状态 MAC 验证失败。应用程序由 Web Farm 托管,请确保 配置 [重复]

    这个问题在这里已经有答案了 Net 4 0框架 我在这个框架中制作了很多网站 但从未遇到过这样的错误 Validation of viewstate MAC failed If this application is hosted by a
  • 如何从最新版本的 Hyperledger Fabric 检索用户信息?

    我是 Hyperledger Fabric 的新手 在当前版本的 Hyperledger Fabric 中 在 chaincode go 中我找不到名为 ReadCertAttributes 的函数 有什么办法可以获取属性吗 从 Hyper
  • 返回文件或视图的方法

    我正在使用下面的 jquery 来调用GetFile方法 我想根据某些条件生成一个文本文件 这并不总是 始终生成一个文本文件 如果条件 True 生成文件 如果条件 False 返回主页 现在如果我回来 我只会得到一张空白页 我该如何写才能
  • Oracle PLSQL:xmltype.transform 与 xmltransform

    由于我们已将数据库从 11 2 0 2 0 移动到 11 2 0 4 0xmltype transform函数有特定的行为 问题是 之前它不能正常工作 它用开闭版本替换了所有标签 例如 它确实替换了 br with br 但我可以忍受 现在
  • 打印有序链表

    只是做了一些编辑 我尝试了你所说的 但它不起作用 所以我尝试了一些我更熟悉的东西 但它似乎无法正常工作 它奇怪地打印信息然后崩溃 例如 当我输入 9 8 7 6 5 4 3 2 1 然后输入 0 进行打印时 它会打印回给我 0 0 0 9
  • 列出“tkinter”中可用的字体系列

    In many tkinter那里有可用的示例 您可能会看到类似以下内容 canvas create text x y font Helvetica 12 text foo 但是 在您的计算机中运行时这可能不起作用 结果将完全忽略字体参数
  • 实体框架5性能不佳

    我有 5 个实体 public class Album public int Id get set public string Title get set public virtual List
  • “pygame.Surface”对象的描述符“get_at”不适用于“tuple”对象

    我正在创建一个程序 并且如果光标位置处的像素还不是黑色 则尝试在光标位置绘制一个矩形 if pygame Surface get at pygame mouse get pos 0 0 0 255 pygame draw rect win
  • Jooq fetchInto 类 java.util.LinkedHashMap 无法转换为类

    给出最后一个例子这个所以线程 我收到此错误 java lang ClassCastException class java util LinkedHashMap cannot be cast to class com example dto
  • VB.NET 中的 EntityDataSourceWhere 子句

    我有一个实体数据源绑定到我的网页上的网格视图 在后面的代码中 我可以使用实体数据源的 WHERE 语句过滤并在 gridview 中显示我想要的内容 我的 where 语句之一使用大型 OR 语句进行过滤 但逻辑性更强的 IN 语句不起作用
  • 使用Python密码保护Excel文件

    我还没有找到太多关于使用 Python 创建受密码保护的 Excel 文件的主题 在Openpyxl中 我确实找到了一个SheetProtection模块使用 from openpyxl worksheet import SheetProt
  • 为什么 validateantiforgerytoken cookie 值和隐藏表单值存在差异?

    我有MVC4 ValidateAntiForgeryToken 属性完美运行 但是 我不明白我在 Fiddler 中看到了什么 服务器发送到浏览器的 cookie 设置为以下值 RequestVerificationToken FVcmfj
  • C++ 单例初始化顺序

    I have class Foo class Bar 现在 我想要 Foo Foo singleton new Foo Bar Bar singleton new Bar 之前都初始化 int main 叫做 此外 我想要 Foo sing