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

Тема: SVarString

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

    Статус
    Оффлайн
    Регистрация
    16.08.2015
    Сообщений
    6
    Репутация:
    0 ±

    SVarString

    Доброе время суток, знатоки!!!

    У меня возник вопрос по поводу использования SVarString, в чем же его прелесть?!
    Ведь чтобы получить значение SVar'а все равно нужна переменная, в которой это значение будет хранится.

    Пример 1 (обычная переменная):

    PHP код:
    main()
    {
        new 
    string[5];
        
    string "Text";
        
    printf("%s"string);

    Пример 2 (SVarString):

    PHP код:
    main()
    {
        
    SetSVarString("svar""Text");
        new 
    string[5];
        
    GetSVarString("svar"stringsizeof(string));
        
    DeleteSVar("svar");
        
    printf("%s"string);

    Как видно на скриншотах, то SVar'ы даже больше памяти жрут и код значительно больше.
    Объясните мне, зачем они тогда?!

  2. #2
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Возьму на пример старую версию инклуда fix_k2bex и новую. В старой версии причина записывалась в глобальный массив, а это MAX_PLAYERS * 128 байт памяти. И вся соль в том, что этот массив нам понадобится 1 раз (в расчете присутствия игрока на сервере), лучшим вариантом будет, если создать локальный массив в 128 байт и удалить его. Тупо, если нам понадобилась это кол-во памяти, мы взяли, а потом избавились, в то время как глобальный массив сидит и жрет MAX_PLAYERS * 128 байт памяти + не факт, что мы его будем использовать.

 

 

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

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

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

Ваши права

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