Может ли фиаско порядка инициализации stati c произойти в C программах? - PullRequest
1 голос
/ 07 февраля 2020

Когда я ищу проблемы порядка инициализации stati c, я вижу много примеров в C ++, которые объясняют эту проблему. Интересно: может ли проблема фиаско порядка инициализации stati c возникнуть в C программах?

1 Ответ

3 голосов
/ 07 февраля 2020

Stati c инициализация в C не имеет тех же проблем, что и в C ++.

В C объекты с длительностью хранения stati c могут быть инициализированы только с помощью константных выражений, т.е. значения, которые могут быть вычислены во время компиляции, поэтому не возникает проблем, связанных с порядком инициализации.

В отличие от этого, C ++ позволяет вызывающим функциям инициализировать stati c объекты и порядок, в котором эти функции называются не четко определены.

...