Выражение «constexpr», которое занимает слишком много времени - PullRequest
0 голосов
/ 05 февраля 2019

Следующий код не компилируется в visual C ++ , потому что выражение " не оценивается как константа ".

constexpr auto func() {
    for (unsigned long long i = 1; i < 10000000UL; ++i);
    return 123;
}
constexpr auto f = func();

Как правило, выражения, для вычисления которых требуется слишком много времени, не могут быть созданы constexpr.Можно ли дать компилятору больше времени для оценки таких «сложных» constexpr эссенций?

1 Ответ

0 голосов
/ 05 февраля 2019

Опция /constexpr:steps - это именно та опция, которая описывает, как долго компилятор может думать о constexpr эссенциях.

...