随着新的放松的C++14常量表达式规则,编译时编程变得更加具有表现力。我想知道标准库是否也会升级以利用这一点。特别是,
std::initializer_list
、std::pair
、std::tuple
、std::complex
、std::bitset
和std::array
似乎是被标记为constexpr
的主要候选项。
问题:
- 哪些部分的标准库会被标记为
constexpr
? - 哪些其他部分可以被标记为
constexpr
? - 例如,为什么
<cmath>
和<algorithm>
中的函数没有被标记为constexpr
? - 是否存在向后兼容性原因不这样做?
// constexpr in C++14
的注释。 - TemplateRex