Size: a a a

IT KPI C/C++ ХВ (не UB)

2021 June 07

М

Миша́НЯ♿️ in IT KPI C/C++ ХВ (не UB)
Да
источник

ПВ

Павел Василенко... in IT KPI C/C++ ХВ (не UB)
Спасибо :)
источник

P

Ponchik in IT KPI C/C++ ХВ (не UB)
28
источник
2021 June 08

М

Миша́НЯ♿️ in IT KPI C/C++ ХВ (не UB)
Господа С-шники
источник

IM

Igor Muravyov in IT KPI C/C++ ХВ (не UB)
на місці
источник

М

Миша́НЯ♿️ in IT KPI C/C++ ХВ (не UB)
Кто-то может подсказать, как я могу реализовать логику switch/case через макросы?
источник

IM

Igor Muravyov in IT KPI C/C++ ХВ (не UB)
так само як і if через макроси
источник

М

Миша́НЯ♿️ in IT KPI C/C++ ХВ (не UB)
То есть мне нужно, чтобы для конструкции вида:
switch (value):
case 1: a();
case 2: b()
Уже во время компиляции подставляло вызов a() или b() вместо всего switch
источник

М

Миша́НЯ♿️ in IT KPI C/C++ ХВ (не UB)
Значение value заранее известно
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Есть большое подозрение что препроцессор не умеет вычислять условия
источник

G

GNU/Vsevolod in IT KPI C/C++ ХВ (не UB)
Або взяти лібу https://metalang99.readthedocs.io/en/latest/choice.html

або
#if value == 1
// ...
#elif value == 2
// ...
#else // default
// ...
#endif
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Разве что дефайнить значение руками, а потом андефать
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
constexpr явно понадобится
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Препроцессор только кодогеном занимается
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
А, это си
источник

М

Миша́НЯ♿️ in IT KPI C/C++ ХВ (не UB)
источник

М

Миша́НЯ♿️ in IT KPI C/C++ ХВ (не UB)
Не работает, если кратко
источник

М

Миша́НЯ♿️ in IT KPI C/C++ ХВ (не UB)
Понимаю, но есть только С
источник

G

GNU/Vsevolod in IT KPI C/C++ ХВ (не UB)
Так не можна, бо макроси лише 1 раз розкриваються
источник

G

GNU/Vsevolod in IT KPI C/C++ ХВ (не UB)
#if має бути top-level, а не всередині #define
источник