我在 faq-lite 中阅读了有关 SIOF 的信息,但我仍然真的不明白为什么会发生这个问题。我有一个静态库(.a),我使用该库来使用它的静态 const 数据成员对象类型。然后我使用并分配给全局变量(对象)的静态 const 数据成员对象类型。但是,当我将全局变量用于我的主函数或任何本地函数时,全局变量似乎是空的。我显然知道我的问题是 SIOF,但我真的不明白为什么我的静态 const 数据成员对象没有被初始化。
它是静态库,所以我猜当我们创建静态库时,静态 const 数据成员对象已编译并链接到该静态库,如果我错了,请纠正我..
//libsource.h
class foo
{
public:
....
public:
static const barbar foofaa;
};
//libsource.cpp
const barbar foo::foofaa = barbar();
//main.cpp
#include <libsource.h>
barbar foos= foo::foofaa;
int main()
{
//can't use foos because its empty
}
请指教。为什么即使静态库中的静态 const 数据成员对象也没有初始化?
非常感谢。