-
- LTO и на С коде работает. А const и constexpr это из разной оперы.
В тех местах где вместо constexpr можно написать const разницы в
результате не будет никакой. Единственную пользу, которую можно
поиметь от компилирования С-кода компилятором С++, это более
строгий контроль типов. Ну и синтаксические плюшки кое-где. - VladislavS.(01.10.2022 15:28)
- const применительно к функции не дает того эффекта как constexpr, и
оптимизация в итоге получается не такой эффективной. Правда я не
уверен что компилятор С++ будет рассматривать const как constexpr.
Хотя, const еще влияет на размещение (ОЗУ-ПЗУ), для контроллеров
это существенно. А как constexpr влияет? - AlexBi(01.10.2022 22:15)
- constexpr применительно к функции не гарантирует её вычисление в
компайлтайме. Только для переменной. Вот смотрите несколько
интересных примеров: VladislavS.(1362 знак., 01.10.2022 23:29, картинка, картинка)
- Ещё про const и размещение в памяти: VladislavS.(127 знак., 02.10.2022 00:44)
- constexpr применительно к функции не гарантирует её вычисление в
компайлтайме. Только для переменной. Вот смотрите несколько
интересных примеров: VladislavS.(1362 знак., 01.10.2022 23:29, картинка, картинка)
- const применительно к функции не дает того эффекта как constexpr, и
оптимизация в итоге получается не такой эффективной. Правда я не
уверен что компилятор С++ будет рассматривать const как constexpr.
Хотя, const еще влияет на размещение (ОЗУ-ПЗУ), для контроллеров
это существенно. А как constexpr влияет? - AlexBi(01.10.2022 22:15)
- LTO и на С коде работает. А const и constexpr это из разной оперы.
В тех местах где вместо constexpr можно написать const разницы в
результате не будет никакой. Единственную пользу, которую можно
поиметь от компилирования С-кода компилятором С++, это более
строгий контроль типов. Ну и синтаксические плюшки кое-где. - VladislavS.(01.10.2022 15:28)