нулевая инициализация и статическая инициализация статической переменной локальной области видимости

Я прочитал несколько постов наC ++ инициализация от Google, некоторые из которых направляют меня сюда на StackOverflow. Концепции, которые я выбрал из этих постов, следующие:

порядок Инициализация C ++ - это:Нулевая инициализация;Статическая инициализация;Динамическая инициализация.Статические объекты (переменные включены) являются первымиНулевой инициализирован, а потомСтатическая инициализация.

У меня есть несколько запросов относительноинициализация вопрос (класс хранения вопрос также может быть связан):

Глобальные объекты (определяется безстатический Ключевое слово) также являются статическими объектами, верно?Глобальные объекты также инициализируются какстатические объекты двумя шагами, как указано выше, верно?ЧтоСтатическая инициализация? Относится ли это к инициализации статических объектов (определяется с помощьюстатический ключевое слово)?Я также прочитал, что объекты, определенные в блоке (то есть в функции) сстатический Ключевое слово инициализируется, когда поток выполнения впервые входит в блок! Это означает, чтолокальные статические объекты не инициализируются раньшеглавный выполнение функции. Это означает, что они не инициализируются как два шага, упомянутых выше, верно?Динамическая инициализация относится к инициализации объектов, созданныхновый оператор, верно? Это может относиться к инициализации какmyClass obj = myClass(100); или жеmyClass obj = foo();

У меня слишком много запросов на инициализацию испецификатор класса хранения проблемы. Я прочитал документ C ++ 2003 Standard, но не могу найти четкую логику, так как они разбросаны по всему документу.

Я надеюсь, что вы дадите мне ответ, которыйлогически объясняет всю карту спецификатора класса хранения и инициализации. Любая ссылка приветствуется!

Код, который может объяснить мой вопрос:

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);
}

РЕДАКТИРОВАТЬ:

Если вы считаете, что мой вопрос довольно утомителен, вы можете объяснить свои идеи на основе приведенного выше кода.

Ответы на вопрос(2)

Ваш ответ на вопрос