Макрос, как пользоваться? (#define)
Макрос, как пользоваться? (#define)

Для чего нужны макросы? - Макросы позволяют упрощать программу: вместо фразы можно указать её идентификатор.
Кратенько в примерах расскажу, как и где можно это юзать?

Как это устроено? - #define "название" "присваемое значение"

Пример №1:
У нас есть плагин, где стоит очень много проверок на флаг.
Мы видим везде if(get_user_flags(id) & ADMIN_RCON) и таких очень много

Вопрос:
как же упростить?

В начале исхода создаём макрос:
#define CREATOR ADMIN_RCON

То есть мы, присвоили переменной CREATOR, значение ADMIN_RCON.

Дальше мы смело можем заменить следующее:
if(get_user_flags(id) & ADMIN_RCON) на if(get_user_flags(id) & CREATOR)

В итоге мы уменьшаем время на то, что бы сменить флаг на всех имеющихся проверках!

Пример №2:
Такой же метод удобен и эффективен при использовании цикла...
Мы имеем вот такой цикл:

for(iPlayer = ; iPlayer <= 32; iPlayer++) 
{ 
код
}

Всё банально просто... Нежели, каждый раз спускаться к циклу и менять до какого числа будет цикл,
можно также воспользоваться макросом...

Создаём макрос:

#define MAX_CLIENTS 32

Теперь цикл будет выглядеть вот так:

for(iPlayer = ; iPlayer <= MAX_CLIENTS; iPlayer++) 
{ 
код
}

Автор статьи - Игорь Бубенцов

Hello, Our administration publishes only cannon content, put like under the post below and write the top comment, we are preparing the material just for you, Darling Гость.

Comments 3
  1. Universe
    Уже статьи пишет, дети так быстро растут
    • 29 December 2018 21:12
  2. Mort3m
    Mort3m
    • +1
    Найс статья, дизлайк заслужила
    Ты описываешь работу с #define, где у тебя работа с директивами?
    И про то что в макрос можно записать не только целое значение и битсуммы?
    • 29 December 2018 21:25
    1. BuB9neC
      Это простенькая тема, о самом простом и элементарном... Если есть желание, можешь написать более подробно!
      • 30 December 2018 16:18
Users belonging to group Guests cannot add comments to this article.
Base for Your Build
Information

Welcome to TB-TEAM.COM!

To become a full-fledged user of our portal, you need to register.
Register
Create your own account!

Register Now
Log In
Already registered? Go ahead and log in!

Log In