我有全局变量,其构造函数依赖于不同翻译单元中的其他全局变量。我的理解是全局变量的初始化顺序是未指定的,所以这是不安全的。如何确保我需要的全局变量最迟在首次访问时被初始化?例如,如果我在一个函数中创建一个静态变量并调用该函数来获取引用,它是否总是在函数第一次执行时被初始化? 最佳答案 您可以使用与标准流std::cout及其friend相同的方法。它叫做SchwarzCounterorNiftyCounter.如果您查看GNUlibstdc++的ios_base.hheader://27.4.2.1.6Classios_base::I