我习惯于考虑在main()的第一行之前发生的globals/static-class-members的所有初始化.但我最近在某处读到,标准允许稍后进行初始化以"协助动态加载模块".在动态链接时我可以看到这是真的:在我开始使用库之前,我不希望在库中初始化全局初始化.但是,在一组静态链接在一起的翻译单元(我的应用程序的直接.o文件)中,我会发现这种行为非常不直观.这只是在动态链接时懒得发生,还是随时都可以发生?(或者我读错了?;)
c++ static initialization global-variables dynamic-linking
c++ ×1
dynamic-linking ×1
global-variables ×1
initialization ×1
static ×1