new или static
#1

Всем привет, решил добавить несколько систем для своего мода, но не знаю как юзать лучше,

Вопрос что лучше static или new.

static:
PHP код:
static AdminNames[][64] = {
    
"Неизвестно",
    
"Мл.Модератор",
    
"Модератор",
    
"Гл.Модератор",
    
"Мл.Администратор",
    
"Администратор",
    
"Гл.Администратор",
    
"Основатель Проекта"
}; 
new:
PHP код:
new AdminNames[8][64] = {
    
"Неизвестно",
    
"Мл.Модератор",
    
"Модератор",
    
"Гл.Модератор",
    
"Мл.Администратор",
    
"Администратор",
    
"Гл.Администратор",
    
"Основатель Проекта"
}; 
Что же все таки эффективней?

И еще если я буду использовать static то как его лучше использовать?
просто static или static const?


Тут тоже я должен использовать static?
PHP код:
new FloatMaxVehicleSpeed[212] = {
    
160.00160.00200.00120.00150.00165.00110.00170.00110.00180.00160.00,
    
240.00160.00160.00140.00230.00155.00200.00150.00160.00180.00180.00,
    
165.00145.00170.00200.00200.00170.00170.00200.00190.00130.0080.000,
    
180.00200.00120.00160.00160.00160.00160.00160.0075.000150.00150.00,
    
110.00165.00190.00200.00190.00150.00120.00240.00190.00190.00190.00,
    
140.00160.00160.00165.00160.00200.00190.00260.00190.0075.00075.000,
    
160.00160.00190.00200.00170.00160.00190.00190.00160.00160.00200.00,
    
200.00150.00165.00200.00120.00150.00120.00190.00160.00100.00200.00,
    
200.00170.00170.00160.00160.00190.00220.00170.00200.00200.00140.00,
    
140.00160.0075.000260.00260.00160.00260.00230.00165.00140.00120.00,
    
140.00200.00200.00200.00120.00120.00165.00165.00160.00340.00340.00,
    
190.00190.00190.00110.00160.00160.00160.00170.00160.0060.00070.000,
    
140.00200.00160.00160.00160.00110.00110.00150.00160.00230.00160.00,
    
165.00260.00160.00160.00160.00200.00160.00160.00165.00160.00200.00,
    
170.00180.00110.00110.00200.00200.00200.00200.00200.00200.0075.000,
    
200.00160.00160.00170.00110.00110.0090.00060.000110.0060.000160.00,
    
160.00200.00110.00160.00165.00190.00160.00170.00120.00165.00260.00,
    
200.00140.00200.00260.00120.00200.00200.0060.000190.00200.00200.00,
    
200.00160.00165.00110.00200.00200.00260.00260.00160.00160.00160.00,
    
140.00160.00260.00
}; 
Я знаю что если использовать new то при каждом коннекте игрока переменная будет создаваться.
Если использовать static, она создается один раз (я так понял.) Если не прав подправьте.
Reply
#2

Можно было вбить в поиск по разделу.
КЛАЦ или КЛАЦ
И это не все случаи, когда эта тема поднималась на форуме. Попробуй клацнуть СЮДА. Если откроется окно поиска с ссылками, вперёд, поглощай информацию!
Ну а "static const" в большинстве случаев только извращение и не более.
"соnst" никогда не пользовался и особо не узнавал подробности, но, вроде, её отличие от переменных лишь в том, что её значение нельзя изменять НИКОГДА. Как задал её значения при создании, так и будут они в памяти (если это глобальная переменная) до момента прекращения работы скрипта. Других предназначений не знаю
А static сохраняет своё значение в поле видимости одной функции (инклюда и т.п.). То бишь "static const" будет иметь смысл где-нибудь в инклюде, если мы хотим следать константу, видимую только в поле видимости этого самого инклюда и чтоб константа не распространялась на другой код в скрипте. Как-то так.

UPD: И повторюсь ещё раз. В следующий раз пользуйся гуглом/поиском по форуму, прежде чем задавать вопросы. Тут не любят тех, кто задаёт вопросы, на которые уже 500 раз дали ответы. Да и поиск по форуму имеет кучу настроек для отсева ненужных тебе тем. В общем, не тупим и ценим наше с вашим время.
Reply
#3

Quote:
Originally Posted by Eims
Посмотреть сообщение
ну, вообще-то, в C++ и в павне new - абсолютно две разные вещи, не надо запутывать чела

глобальные new создаются один раз - при запуске мода, смысла в глобальных static'ах не вижу
new'ы в пабликах/функциях инициализируются при его вызове, и static надо использовать там только тогда, когда необходимо сохранить значение переменной до следующего вызова, говоря простыми словами - static внутри функций - это как глобальный new, только доступный в одной области всего кода
Reply
#4

Quote:
Originally Posted by DartfoL
Посмотреть сообщение
ну, вообще-то, в C++ и в павне new - абсолютно две разные вещи, не надо запутывать чела
Ну не знаю. Очень многое в них схоже. Пара мануалов для C++ и немного тестов собственными руками помогают решить все вопросы.
P.S. Конкретно в данном случае, да... Оплошал
Reply
#5

Quote:
Originally Posted by Eims
Посмотреть сообщение
Ну не знаю. Очень многое в них схоже. Пара мануалов для C++ и немного тестов собственными руками помогают решить все вопросы.
P.S. Конкретно в данном случае, да... Оплошал
если уж говорить о сходстве, то павн прежде всего схож с си, а основная фишка си++ - это ООП, STL и прочий ужас - ничего подобного в павне нет
только вот в интернете, если говорят о C++, то сначала начинают с возможностей именно сишной части языка, а потом уже о "плюсах"
Reply
#6

Quote:
Originally Posted by Eims
Посмотреть сообщение
Можно было вбить в поиск по разделу.
КЛАЦ или КЛАЦ
И это не все случаи, когда эта тема поднималась на форуме. Попробуй клацнуть СЮДА. Если откроется окно поиска с ссылками, вперёд, поглощай информацию!
Ну а "static const" в большинстве случаев только извращение и не более.
"соnst" никогда не пользовался и особо не узнавал подробности, но, вроде, её отличие от переменных лишь в том, что её значение нельзя изменять НИКОГДА. Как задал её значения при создании, так и будут они в памяти (если это глобальная переменная) до момента прекращения работы скрипта. Других предназначений не знаю
А static сохраняет своё значение в поле видимости одной функции (инклюда и т.п.). То бишь "static const" будет иметь смысл где-нибудь в инклюде, если мы хотим следать константу, видимую только в поле видимости этого самого инклюда и чтоб константа не распространялась на другой код в скрипте. Как-то так.

UPD: И повторюсь ещё раз. В следующий раз пользуйся гуглом/поиском по форуму, прежде чем задавать вопросы. Тут не любят тех, кто задаёт вопросы, на которые уже 500 раз дали ответы. Да и поиск по форуму имеет кучу настроек для отсева ненужных тебе тем. В общем, не тупим и ценим наше с вашим время.
Спасибо в след раз ****** поможет.
Reply
#7

Значит лучше использовать спокойно
PHP код:
new AdminNames[8][64] = { 
    
"Неизвестно"
    
"Мл.Модератор"
    
"Модератор"
    
"Гл.Модератор"
    
"Мл.Администратор"
    
"Администратор"
    
"Гл.Администратор"
    
"Основатель Проекта" 
}; 
И не будет не какой нагрузки?
Reply
#8

Quote:
Originally Posted by Davidoff
Посмотреть сообщение
Значит лучше использовать спокойно
PHP код:
new AdminNames[8][64] = { 
    
"Неизвестно"
    
"Мл.Модератор"
    
"Модератор"
    
"Гл.Модератор"
    
"Мл.Администратор"
    
"Администратор"
    
"Гл.Администратор"
    
"Основатель Проекта" 
}; 
И не будет не какой нагрузки?
данный код ничего не делает, если говорить в плане нагрузки
Reply
#9

Ясно
Reply
#10

Само наличие этого массива говорит об уменьшении нагрузки, т.к. элемент будет браться по индексу.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)