Inicialización cero e inicialización estática de la variable estática de alcance local

He leído varias publicaciones enInicialización de C ++ de Google, algunos de los cuales me dirigen aquí en StackOverflow. Los conceptos que elegí de esos mensajes son los siguientes:

losorden de inicialización de C ++ es:Inicialización cero;Inicialización Estática;Inicialización Dinámica.Objetos estáticos (las variables incluidas) son las primerasCero inicializado, y entoncesEstático-inicializado.

Tengo varias consultas en cuanto a lainicialización problema (clase de almacenamiento El problema puede estar relacionado también):

Objetos globales (definido sinestático palabra clave) también son objetos estáticos, ¿verdad?Objetos globales también se inicializan comoobjetos estáticos Por dos pasos como arriba, ¿verdad?Cuál es elInicialización Estática? ¿Se refiere a inicializar objetos estáticos (definidos conestático palabra clave)?También leí que los objetos definidos dentro del bloque (es decir, en una función) conestático la palabra clave se inicializa cuando el hilo de ejecución primero entra en el bloque! Esto significa queobjetos estáticos locales no se inicializan antesprincipal Ejecución de funciones. Esto significa que no se inicializan como los dos pasos mencionados anteriormente, ¿verdad?Inicializacion dinamica se refiere a la inicialización de objetos creados pornuevo operador, ¿verdad? Podría referirse a la inicialización comomyClass obj = myClass(100); omyClass obj = foo();

Tengo demasiadas consultas sobre la inicialización yespecificador de clase de almacenamiento cuestiones. Leí el documento estándar de C ++ 2003, pero no puedo encontrar una lógica clara ya que están dispersos por todo el documento.

Espero que me des una respuesta quelógicamente Explica el mapa completo del especificador de clase de almacenamiento y la inicialización. Cualquier referencia es bienvenida!

Código que podría explicar mi pregunta:

class myClass{
public:
   int i;
   myClass(int j = 10): j(i){}
   // other declarations
};

myClass obj1;//global scope
static myClass obj2(2);//file scope
{   //local scope
   myClass obj3(3);
   static myClass obj4(4);
}

EDITAR:
Si cree que mi pregunta es bastante tediosa, puede ayudar a explicar sus ideas basándose en el código anterior.

Respuestas a la pregunta(2)

Su respuesta a la pregunta