Я знаю, что в Delphi переменные экземпляра и глобальные переменные инициализируются равными нулю (об этом спрашивали здесь раньше ).
Однако как насчет статических переменных (class var
)? Я бы ожидал, что класс * vars * будет инициализирован равным нулю, как глобальные переменные. Но я видел слишком много новых функций компилятора Delphi, которые все еще не были готовы, чтобы предположить, что он работает, без документации, которая фактически заявляет гарантию.
В справке нет индексной записи для "class var". В разделе «Поля» упоминаются поля классов, но не указывается, инициализируются ли они при запуске программы. И очевидное исправление, состоящее в их явной инициализации (class var X: Integer = 0;
), не компилируется (";" ожидается, но "=" найдено ").
Переменные класса инициализируются нулем? Есть ли документация, в которой это прямо указано?