Consideraciones de inicio adicionales
En C++, la creación y destrucción de objetos pueden implicar ejecutando código de usuario.Por tanto, es importante entender qué código se producen antes de entrada a Principal y qué destructores se invocan después de salida de Principal.(Para obtener información detallada sobre la creación y destrucción de objetos, vea constructores y destructores.)
Las inicializaciones siguientes operaciones antes de entrada a Principal:
inicialización predeterminada de datos estáticos a cero.Todos los datos estáticos sin inicializadores explícitos se establecen en cero antes de ejecutar cualquier otro código, incluida la inicialización en tiempo de ejecución.Los miembros de datos estáticos deberían seguir estando definidos explícitamente.
inicialización de objetos estáticos globales en una unidad de traducción.Esto puede producir antes de que la entrada a Principal o antes del primer uso de cualquier función u objeto en la unidad de traducción del objeto.
Específicos de Microsoft
en Microsoft C++, los objetos estáticos globales se inicializan antes de entrada a Principal.
Específico de Microsoft de FINAL
Los objetos estáticos globales que son mutuamente interdependientes pero en diferentes unidades de traducción pueden causar un comportamiento incorrecto.