ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
16 ноября
1554167
AlexBi (14.11.2025 16:18, просмотров: 737)
Возник вопрос по использованию С++, конкретнее consexpr применительно к функциям. Не понял как их в реальной жизни использовать. Опишу свой случай. 

Есть у меня функция, вычисляющая CRC блока данных. CRC добавляется в конец передаваемых данных. А еще есть фиксированные блоки данных, которым при передаче должна быть добавлена так же CRC. Почитал я про constexpr вроде все сходится, там где данные известны оно посчитается на этапе компиляции, там где не известны, будет вызываться функция. Но проблема оказалась в том, что тело функции, вычисляющей CRC, должно быть видно компилятору, т.е. она должна располагаться в .h, а она большая, с таблицами и прочей красотой. Я думал оно на этапе линковки как-то будет все решать, но оказалось, что я ошибался. Блоки данных раскиданы по разным файлам, функция используется в разных файлах, получается совсем не красиво. Возник вопрос, это так и задумано в constexpr, или я не разобрался?