С Статическая инициализация относится к нулевой инициализации и инициализации с постоянным выражением, согласно стандарту C++ 03, я не вижу, какое фиаско может возникнуть там.Почему Static Инициализация заказа Fiasco называется так?
Итак, почему такое имя, а не, например, «[Dynamic] Инициализация заказа Fiasco»?
Edit:
Это на самом деле риторический вопрос, но я считаю, что мой английский слишком слаб, чтобы само-ответ. Я также слабо использую «статическую инициализацию» в качестве короткой строки для «всей инициализации, которая происходит до main()
». Но поскольку «статический» термин уже перегружен, я записал этот вопрос:
- Напоминаем, что «статическая инициализация» имеет формальное определение в стандарте.
- Чтобы собрать любую историческую или анекдотическую причину для этой формулировки.
- Для тех, кто искренне смущен кажущимся парадоксом.
Также см. [AddressSanitizerInitializationOrderFiasco] (https://github.com/google/sanitizers/wiki/AddressSanitizerInitializationOrderFiasco). – jww