-
- Это упрощенный пример. У меня на основе подобных выражений
вычисляется индекс в массиве, делается это в разных местах, с
разными константными данными, на #if #else такое не заменится. Но
если скобками такое не погасить, значит буду выкручиваться
по-другому. Я думал что я просто не могу подобрать нужную
комбинацию скобок. - AlexBi(01.11.2025 21:19)
- Я думаю, у вас просто слишком жёсткий уровень предупреждений. Сам пользуюсь GCC. И если включить оптимизации на максимум и включить все основные предупреждения - то тоже жалуется, что, дескать, чего условие писал, если результат заранее известен? Nikolay_Po(311 знак., 01.11.2025 21:44)
- Так константы в примере! Часть кода приницпиально не будет
использована. О чем предупреждение и говорит. - POV(01.11.2025 21:23)
- Оно так и надо. Если подобное встречается в if то предупреждение
гасится скобками. А тут ни как скобки не удается подобрать AlexBi(1 знак., 01.11.2025 21:43, картинка)
- Какая проблема переписать на if? Тоже так делал с GCC. Правда, не
помню, почему. Что-то похожее, но немного не тот случай... - Nikolay_Po(01.11.2025 21:45)
- Опишу как у меня возникла потребность в таком выражении AlexBi(542 знак., 02.11.2025 08:52)
- Ещё варианты: 1) сделать LUT, 2) в Си есть constexpr, в C++ - ещё и
consteval. 3) фиксировать индексы жестко. В случае изменения
каналов при переразводке ПП перенастроите порядок опроса каналов,
индексы при обращении останутся прежние. Apaмчик(1 знак., 03.11.2025 06:44,
, ссылка) - Завязывайте с программировпнием на макросах! Напишите нормальную функцию. Её результат с константными данными вычислится на этапе компиляции. А лучше переходите на ЯП где это всё предусмотпено штатно. - VladislavS.(02.11.2025 23:53)
- А если заменить a>b?1:0 на (a>b)? - SciFi(02.11.2025 09:37)
- Ещё варианты: 1) сделать LUT, 2) в Си есть constexpr, в C++ - ещё и
consteval. 3) фиксировать индексы жестко. В случае изменения
каналов при переразводке ПП перенастроите порядок опроса каналов,
индексы при обращении останутся прежние. Apaмчик(1 знак., 03.11.2025 06:44,
- Опишу как у меня возникла потребность в таком выражении AlexBi(542 знак., 02.11.2025 08:52)
- Какая проблема переписать на if? Тоже так делал с GCC. Правда, не
помню, почему. Что-то похожее, но немного не тот случай... - Nikolay_Po(01.11.2025 21:45)
- Оно так и надо. Если подобное встречается в if то предупреждение
гасится скобками. А тут ни как скобки не удается подобрать AlexBi(1 знак., 01.11.2025 21:43, картинка)
- Это упрощенный пример. У меня на основе подобных выражений
вычисляется индекс в массиве, делается это в разных местах, с
разными константными данными, на #if #else такое не заменится. Но
если скобками такое не погасить, значит буду выкручиваться
по-другому. Я думал что я просто не могу подобрать нужную
комбинацию скобок. - AlexBi(01.11.2025 21:19)