Почему существует разница между const
и constexpr
при использовании с массивами?
int const xs[]{1, 2, 3};
constexpr int ys[]{1, 2, 3};
int as[xs[0]]; // error.
int bs[ys[0]]; // fine.
Я ожидал бы, что как xs[0]
, так и ys[0]
будут постоянными выражениями, но только последний рассматривается как таковой.