Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5

Тема: static

  1. #1
    Аватар для ALIT13
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±

    static

    Для чего нужно static и static const и в каких случаях их использовать если можно покажите пример

  2. #2
    Аватар для Роуди.
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2015
    Сообщений
    154
    Репутация:
    17 ±

  3. #3
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Все зависит от расположения.
    Обычная переменная представленная с помощью new будет удалена после того, как функция завершится, однако при использовании static ваша переменная будет доступна также, как и локальная, но не будет удалена после завершения функции. Данная переменная записывается в сегмент данных. Допустим, у нас есть переменная, которая объявлена с помощью оператора static в функции. Логика нашей функции построена так, что данная переменная будет увеличиваться каждый раз на один (как минимум, полезно для создания рекурсий). При не однократном вызове переменная будет увеличиваться на один, при этом сохраняя это значение в памяти. Также следует сказать о том, что локальные переменные, объявленные с помощью оператора new будут занесены в стек, а не в сегмент данных.
    (Специально для вас нашёл интересную информацию: перейти)

    Оператор const не разрешает менять значение переменной.

  4. #4
    Аватар для ALIT13
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Все зависит от расположения.
    Обычная переменная представленная с помощью new будет удалена после того, как функция завершится, однако при использовании static ваша переменная будет доступна также, как и локальная, но не будет удалена после завершения функции. Данная переменная записывается в сегмент данных. Допустим, у нас есть переменная, которая объявлена с помощью оператора static в функции. Логика нашей функции построена так, что данная переменная будет увеличиваться каждый раз на один (как минимум, полезно для создания рекурсий). При не однократном вызове переменная будет увеличиваться на один, при этом сохраняя это значение в памяти. Также следует сказать о том, что локальные переменные, объявленные с помощью оператора new будут занесены в стек, а не в сегмент данных.
    (Специально для вас нашёл интересную информацию: перейти)

    Оператор const не разрешает менять значение переменной.
    можешь написать пару простых примеров кода где будет хорошо а где плохо, а то я с планшета сижу не удобно вот примеру мод на муск там в ближайшее записывается имя лвл скин и тд что там лучше использовать
    Последний раз редактировалось ALIT13; 11.01.2016 в 22:22.

  5. #5
    Аватар для Роуди.
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2015
    Сообщений
    154
    Репутация:
    17 ±
    Цитата Сообщение от ALIT13 Посмотреть сообщение
    можешь написать пару простых примеров кода где будет хорошо а где плохо, а то я с планшета сижу не удобно вот примеру мод на муск там в ближайшее записывается имя лвл скин и тд что там лучше использовать
    Пост #4, прочитайте

  6. Пользователь сказал cпасибо:
    Desulaid (11.01.2016)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •