Я знаю, что некоторые переменные POD по умолчанию инициализируются, а другие - нет. (Типы POD включают int
, float
, указатели, объединения, массивы типов POD, структуры типов POD и т.д.)
Как класс и класс хранения влияют на инициализацию типов POD по умолчанию?
В частности, какое из следующего будет инициализировано неявно:
- Локальные переменные с автоматическим хранилищем
- Статические локальные переменные
- Статические глобальные переменные
- Внешние переменные
- Переменные, выделенные с помощью
new
- Элементы POD класса (без явной инициализации в конструкторе)
Я знаю, что существуют некоторые вопросы, связанные с некоторыми из этих ситуаций, но ни один из них не является исчерпывающим (они затрагивают только конкретные ситуации).