由于静态初始化涉及零初始化和使用常量表达式的初始化,根据 C++03 标准,我看不出那里可能会出现哪些惨败。
那么,为什么要使用这样的名称,而不是例如“[Dynamic] Initialization Order Fiasco”?
编辑:
这实际上是一个反问,但我发现我的英语太弱了,无法自我回答。我也松散地使用“静态初始化”作为“所有初始化发生之前”的捷径main()
。但是由于“静态”术语已经超载,我写下了这个问题:
- 提醒一下,“静态初始化”在标准中有一个正式的定义。
- 收集此措辞的任何历史或轶事原因。
- 对于任何真正被看似悖论弄糊涂的人。