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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 4 из 4
  1. #1
    Аватар для Found
    G

    Статус
    Оффлайн
    Регистрация
    18.05.2016
    Адрес
    041b0438043f04
    Сообщений
    35
    Репутация:
    9 ±

    static const, new const, const, define

    И снова приветствую пользователей Pro-Pawn и у меня возникли какие-то сомнения на этот счет и правдивость информации, которую я видел ранее.

    Перейдем непосредственно к делу. Где-то я прочитал и возможно прочитал неправильно, что использование глобальных массивов static const/new const/const, равнозначно использованию #define и не потребляет какой-либо памяти.

    Например:

    PHP код:
    const MAX_PLAYERS 100
    Аналогично:

    PHP код:
    #define MAX_PLAYERS         ( 100 ) 

    Можно ли развеять мои сомнения на этот счет?

    На базе тех сведений, я использовал много в своё время массивов. (Хранение контента диалога например, дабы каждый раз не дублировать одинаковый текст и изменить его можно было в одном месте.)

  2. #2
    Аватар для VVWVV
    Проверенный

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    607
    Репутация:
    289 ±
    Если использовать const без каких-либо операторов, то да, он равносилен define, однако у него есть свои плюсы.
    Если же использовать данный оператор с операторами new, stock и static, то данные будут заноситься в память (стек/данные). К тому же, вы не сможете изменять значение данной переменной, т.к. установлен оператор const.

  3. Пользователь сказал cпасибо:
    Found (18.05.2016)
  4. #3
    Аватар для Found
    G

    Статус
    Оффлайн
    Регистрация
    18.05.2016
    Адрес
    041b0438043f04
    Сообщений
    35
    Репутация:
    9 ±
    Всё, спасибо.

    Тему можно закрывать.

  5. #4
    Аватар для Londlem
    Модератор

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,362
    Репутация:
    771 ±
    Как выше заметил VVWVV, разницы никакой. Оба варианта одинаковые: не будет выделяться в памяти место для переменной, так как в обоих ситуациях создаётся константа.

  6. 2 пользователя(ей) сказали cпасибо:
    Found (18.05.2016)VVWVV (18.05.2016)
 

 

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

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

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

Ваши права

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