C++ 11 constexpr过时的模板元编程?

pol*_*pts 10 c++ templates constexpr c++11

据我了解,constexpr与模板元编程不同,图灵不是完整的,所以我相信这些不一样.那么问题是constexpr模板元编程在多大程度上已经过时了?

Pot*_*ter 22

constexpr绝对是图灵完整的.允许递归.它是一种定义在编译时和运行时工作的函数的便捷方法.constexpr但是,仅仅是函数的函数不能对类型执行操作.(当然,除非你使用模板元编程来定义所述函数.)

两个类模板constexpr都可用于包含编译时常量表达式,但相似性结束.它们不是多余的,TMP不会很快消失.

但是,一些特别难看的编译时计算可能会更优雅地重写为正确的函数.

  • 用于观察"constexpr"不能对类型进行操作的+1. (5认同)