Вопрос

Я знаю, что в Delphi переменные экземпляра и глобальные переменные инициализируются нулем (это было спрашивал здесь раньше).

Однако как насчет статических переменных (class var)?Я бы ожидать переменные класса должны быть инициализированы нулем, как и глобальные переменные.Но я видел слишком много новых функций компилятора Delphi, которые были еще недоработанными, чтобы можно было предположить, что они работают, без документации, в которой фактически указаны гарантии.

В справке нет индексной записи для «класса var».В разделе «Поля» упоминаются поля классов, но не указывается, инициализируются ли они при запуске программы.И очевидное решение - их явная инициализация (class var X: Integer = 0;), не компилируется («;» ожидалось, но «=» найдено).

Переменные класса инициализируются нулем?Есть ли документация, в которой это прямо указано?

Это было полезно?

Решение

Мне не известна какая-либо документация, в которой бы это прямо указано, но переменные классов — это всего лишь особый тип глобальных переменных, а глобальные переменные обнуляются.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top