Объясните, пожалуйста, максимально по простому, в чём их различия?
Сколько читаю - в одно ухо влетает, через другое вылетает, чувство тупости не покидает меня
Понял только, что она как глобалка, создаётся один раз и... что, зачем? Почему просто глобалку не создать тогда?
+
"Добавляя ключевое слово static к глобальной переменной, мы определяем её как внутреннюю, то есть такую, которую нельзя экспортировать и использовать в других файлах."
А private|public не то же самое делают?

Почему просто глобалку не создать тогда?
Потому что это глобалка, которая связана с конкретной структурой
Добавляя ключевое слово static к глобальной переменной, мы определяем её как внутреннюю, то есть такую, которую нельзя экспортировать и использовать в других файлах
Можно
struct AAA
    static integer I = 1
endstruct

function BBB takes nothing returns nothing
    local integer i = AAA.I
    call DisplayTextToPlayer(Player(0), 0, 0, I2S(i))
endfunction
А private|public не то же самое делают?
Это модификаторы доступа. Вот так уже не сработает
struct AAA
    private static integer I = 1
endstruct

function BBB takes nothing returns nothing
    local integer i = AAA.I
    call DisplayTextToPlayer(Player(0), 0, 0, I2S(i))
endfunction

`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
18
Почему просто глобалку не создать тогда?
Потому что это глобалка, которая связана с конкретной структурой
Добавляя ключевое слово static к глобальной переменной, мы определяем её как внутреннюю, то есть такую, которую нельзя экспортировать и использовать в других файлах
Можно
struct AAA
    static integer I = 1
endstruct

function BBB takes nothing returns nothing
    local integer i = AAA.I
    call DisplayTextToPlayer(Player(0), 0, 0, I2S(i))
endfunction
А private|public не то же самое делают?
Это модификаторы доступа. Вот так уже не сработает
struct AAA
    private static integer I = 1
endstruct

function BBB takes nothing returns nothing
    local integer i = AAA.I
    call DisplayTextToPlayer(Player(0), 0, 0, I2S(i))
endfunction

Принятый ответ
2 комментария удалено
28
Ну за с++ я ничего не хотел говорить, там просто есть толковый пример, который можно перенести на джасс
Нет, нельзя. Это ВООБЩЕ разные языки. И уж тем более, что в JASS нет ключевого static, оно есть только в vJass, который также не имеет никакого отношения к C++.
28
PT153, единственный язык, который я знаю, это русский
кат
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.