Если глобальная переменная инициализируется дважды (статически, тогда динамически), какая инициализация начинает свое срC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Если глобальная переменная инициализируется дважды (статически, тогда динамически), какая инициализация начинает свое ср

Сообщение Anonymous »

Вдохновлен этим вопросом. < /p>
Мы знаем, что глобальные переменные с неconstexpr< /code> инициализаторы подвергаются двум различным «инициализациям»: < /p>

[*] Во-первых, «статическая инициализация», которая их нулевой инициатизирует их. < /li>
Во-вторых, «динамическая инициализация», в которой используется инициализатор, который использует инициализацию. [basic.life] < /code> удивительно бесполезно: < /p>

Время жизни объекта ... начинается когда: ... его инициализация (если таковая имеется) завершена < /p>
< /blockquote>
Я вижу несколько вариантов: < /p>

Lifetime.
Первая инициализация начинает время жизни. /> (2) будет иметь интересные эффекты. Например. Статическое фиаско порядок инициирования внезапно больше не UB (само по себе).
(3) было бы очень странно.

Подробнее здесь: https://stackoverflow.com/questions/679 ... ally-which
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»