如果有一对 .h/.cpp 文件分别具有类似的内容,
extern const float ge;
和
const float ge = 2.2f;
在它们中,以及其他带有类似内容的 .cpp 文件
namespace {
const float upperLimit = 2.0f * ge;
} // namespace
bool foo(float a)
{
return a < upperLimit;
}
在其中,是否保证在ge之后初始化upperLimit?
我知道来自不同翻译单元的全局对象的不确定初始化顺序。我想确定混合全局对象和名称空间范围对象的情况是否属实。