Является ли фрагмент кода
struct Parameters {
static constexpr int n = 2;
static constexpr double v[n] = {4.0, 5.0};
};
юридический С++ 11? И если да, то константы времени Parameters::v[0]
и Parameters::v[1]
компилируются или просто указатель Parameters::v
сам a constexpr
(что бы это ни значило во время компиляции)?
Как вы можете видеть, я обычно немного запутался в массивах constexpr
и их инициализации в классах/структурах. Пожалуйста, не стесняйтесь отвечать не только на мой конкретный вопрос, но также упомянуть об общих ловушках и т.д. Относительно этой темы.