- 1
- 2
#define KO(s) (sizeof(s) - 1)
#define KOKO(s) s, KO(s)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−45
#define KO(s) (sizeof(s) - 1)
#define KOKO(s) s, KO(s)
Это типа чтобы в функции rooster(const char *s, unsigned len) пихать кококомпайл-тайм константы: rooster(KOKO("kokoko"));
Этим самым делая прототип и вызов функции разными. Зачем?
Dummy00001 02.08.2016 16:11 # +15
Искра генитальности" => свежие грабли
Xom94ok 02.08.2016 20:55 # +13
не, подобный макрос ещё в винапи давно был
kurwa-nextgen 02.08.2016 18:03 # +14
codemonkey 02.08.2016 23:16 # +11
вместо ?
3_dar 02.08.2016 23:51 # +11
codemonkey 03.08.2016 10:58 # +10
kurwa-nextgen 03.08.2016 21:11 # +11
guest 09.08.2016 00:48 # +14
void rooster(const char *, size_t)
#defie ROOSTER(s) rooster("" s, sizeof (s) - 1)
Похожий приём используется в Lua, см функцию lua_pushlstring и макрос lua_pushliteral. Из-за "" ничего кроме строкового литерала в этот макрос передать нельзя
kurwa-nextgen 09.08.2016 16:56 # +11
Интересный костыль. Только он позволяет передать -100, например. Лучше бы этот литерал был после s.
dxd 02.08.2016 18:12 # +16
bormand 02.08.2016 20:56 # +12
Dummy00001 02.08.2016 21:11 # +13
bormand 02.08.2016 21:12 # +11
Я что-то пропустил?
/me побежал гуглить
З.Ы. Блядь, как это развидеть?
Soul_re@ver 02.08.2016 21:13 # +13
Оно ещё онлайн.
kegdan 03.08.2016 03:06 # +12
dxd 03.08.2016 07:15 # +11
kegdan 03.08.2016 08:46 # +12
gost 03.08.2016 12:11 # +11
1024-- 03.08.2016 12:54 # +11
gost 03.08.2016 12:55 # +11
inkanus-gray 03.08.2016 13:51 # +11
3_14dar 03.08.2016 14:04 # +11
gost 03.08.2016 14:29 # +11
inkanus-gray 03.08.2016 13:36 # +13
https://tjournal.ru/p/never-google-this
CHayT 02.08.2016 21:51 # +14
1024-- 02.08.2016 22:16 # +13
Soul_re@ver 02.08.2016 22:18 # +16
Что сегодня за день? Ссылки на шок-сайты просто выпрашивают.
inkanus-gray 03.08.2016 13:46 # +11
http://govnokod.ru/16857#comment251408
Вот тут про автодополнение и фильтрацию:
http://govnokod.ru/17379#comment260443
Мне кажется, что ещё что-то обсуждали примерно во времена Уебкилла, только не могу найти.
inkanus-gray 03.08.2016 14:02 # +14
http://lolshock.com/
CHayT 02.08.2016 22:18 # +12
3_dar 02.08.2016 22:19 # +14
guest 04.08.2016 23:28 # +13
guesto 09.08.2016 03:59 # +11
С одной стороны это убирает бойлерплейт. Ну правда: меньше буков писать же.
С другой таки да: можно забыть что макрос это не функция и наворотить делов
Но с третьй стороны мокрос же потому и писиться большими буквами чтобы не путят