numeric_limits min/max constexpr?

Vin*_*ent 5 c++ standards-compliance constexpr c++11

是否C++ 11标准指定的numeric_limits<T>::minmax必须是能够在模板或使用常数表达式static_assert

更一般地说,如何根据标准找到常量表达式的函数列表?

Chr*_*ica 8

实际上,标准(或我最新的工作草案)将std::numeric_limits18.3.2.3节[numeric.limits]中的所有成员列为constexpr(这里实际引用这些定义没有任何好处),对于一般的模板化版本以及所有成员内置专业化(18.3.2.7 [numeric.special]).所以是的,它们保证是常量表达式(constexpr当然,对于符合实际支持的实现).

至于你的第二个更一般的问题,我不能帮你那么多,除了只是引用你的C++标准本身,它的最新草案与实际标准没有什么不同,是免费提供的.或者您可能会看到更方便但更少绑定的cppreference.com.

  • 对于那些受影响的人,2013年11月的Visual Studio 2013 CTP确实*没有constexpr numeric_limits,至少不是min()和max(). (2认同)