"constexpr" 表达式耗时过长
A "constexpr" expression that takes too long
以下代码无法在 visual C++ 中编译,因为“表达式未计算为常量”。
constexpr auto func() {
for (unsigned long long i = 1; i < 10000000UL; ++i);
return 123;
}
constexpr auto f = func();
一般来说,计算时间过长的表达式无法生成constexpr
。是否可以给编译器更多时间来评估此类 'difficult' constexpr
会话?
选项/constexpr:steps
正是描述编译器可以考虑多长时间的选项constexpr
essions。
以下代码无法在 visual C++ 中编译,因为“表达式未计算为常量”。
constexpr auto func() {
for (unsigned long long i = 1; i < 10000000UL; ++i);
return 123;
}
constexpr auto f = func();
一般来说,计算时间过长的表达式无法生成constexpr
。是否可以给编译器更多时间来评估此类 'difficult' constexpr
会话?
选项/constexpr:steps
正是描述编译器可以考虑多长时间的选项constexpr
essions。