УМННБJ, ЯХВ. Войти !bnw Сегодня Клубы

define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))

define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))

define must_be_array(a) BUILD_BUG_ON_ZERO(same_type((a), &(a)[0]))

define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))

TFW compile-time type checking.
Найдено в сорцах прыщеядра.

Рекомендовали: @ndtimofeev @l29ah @o01eg
#66N96E / @lexszero / 3325 дней назад

Фу, блядь! И эти люди катят бочку на C++?
#66N96E/Q8H / @ndtimofeev / 3325 дней назад
> int:-!!(e); не распарсил что за двоеточие?
#66N96E/QMI / @ckorzhik / 3324 дня назад
понасоздают пустых массивов лишь бы только проверки в макрах не писать (пруф или помогают компилятору помочь разработчику чтобы он в ARRAY_SIZE ничего кроме массивов) > __ ещё и личное пространство компилятора не уважают > :-! слюнтяй > ; })) червь-пидор
#66N96E/YOQ / @mugiseyebrows / 3324 дня назад

@ckorzhik битовое поле длины -!!(e)

#66N96E/BPP / @lexszero --> #66N96E/QMI / 3324 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.