Здравствуйте.
Каким макросом можно прекратить использование форвардов для неродных пабликов?
Вид для печати
Здравствуйте.
Каким макросом можно прекратить использование форвардов для неродных пабликов?
Скорее всего вы имели ввиду это:
Ну или еще распространенный вариант:PHP код:
#define publics%0(%1) forward %0(%1); publi c%0(%1)
PHP код:
#define void%0(%1) forward %0(%1); public %0(%1)
В "publics" тоже мало здравого смысла - вернее, его там совсем нет: макрос для объявления _одного_ паблика называется "паблики" - wtf?
Для сравнения, на sa-mp.com и других зарубежных форумах аналогичный макрос называют "fpub" или "fpublic" - вполне самодостаточные названия, из которых сразу ясна суть макроса. А govno-info и им подобные сайты с их быдлокодерскими практиками следует считать ни чем иным, как деструктивной сектой, и уж точно не следовать их примерам.
Могу предложить такие варианты (названия):
Из Lua:
Из Golang:PHP код:
#define function%0(%1) \
forward %0(%1); public%0(%1)
PHP код:
#define func%0(%1) \
forward %0(%1); public%0(%1)
Есть много махинаций с макросами. Вы можете сделать один макрос, который будет отсортировывать static, stock, public функции, либо же создать подобие ООП (как делают многие).
Вариант из Rust:
PHP код:
#define fn%0(%1) forward%0(%1);public%0(%1)
Гораздо эффективнее принять один одобренный большинством стандарт, иначе закончится тем, что каждый будет кодить на своём диалекте.
Правда пугает то, что сейчас многие авторы выкладываемых работ на Pawn из-за принципов (или религии?) в упор не способны принять чей-то совет и переоформить свою работу в соответствии с рекомендуемыми стандартами.
Да, я также думал о стандарте, и вы совершенно правы.
Вот ещё один способ:
Во многих IDE (например, Sublime Text) есть функции создания макросов, которые помогают писать код без создания какого-либо стороннего макроса в программе (исходниках программы), соответственно, не уходя от стандарта.