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