Я действительно запутался в концепции constexpr, так как я прочитал constexpr, оценивается во время компиляции, поэтому он полезен для оптимизации производительности по сравнению с обычным const.
constexpr int i = 0;
constexpr int& ri = i;
Приведенный выше код возвращает ошибку "неверная инициализация ссылки типа" int & "из выражения типа" const int", почему?
Кроме того, следующий код имеет ошибку:
constexpr int i = 0;
constexpr int* ri = &i;
Если я заменил ключевое слово constexpr на const, все вышеописанное работало правильно.