В ответах на этот вопрос (static constexpr или constexpr в теле функции?) указано, что static constexpr помещает переменную в раздел .rodata, тогда как constexpr само по себе может позволить инициализировать переменную во время выполнения.
ВАЖНО: Этот вопрос касается статических переменных внутри функции, а не связывания внешних библиотек.< /p>
Мой вопрос: в какой ситуации мы бы предпочли один из этих двух в коде другому на практике? Может ли один быть лучше другого для некоторых кодов? Очень трудно представить, как это может произойти. Ведь при любом варианте мы можем писать коды совершенно одинаково, с одинаковым вычислительным результатом. И компилятор, по-видимому, может оптимизировать, чтобы сделать лучший выбор. Так о чем же должен судить программист при выборе?
Подробнее здесь: https://stackoverflow.com/questions/766 ... -constexpr
Когда лучше использовать «static constexpr», чем «constexpr»? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка! Переменная constexpr должна быть инициализирована константным выражением constexpr
Anonymous » » в форуме C++ - 0 Ответы
- 51 Просмотры
-
Последнее сообщение Anonymous
-