C++20之前能否强制模板重新求值?
C++模板强制重新求值的前置通用方案探讨
- 大量有状态元编程可通过强制模板重新求值实现,本文不讨论该技术的合理性。
- C++20支持在未求值上下文使用lambda后,这类技术的应用范围被大幅拓宽。比如在
is_complete的示例实现里,每次调用is_complete时,_is_complete都会生成新的特化,以此达成“重新求值”的效果。
本文虽涉及is_complete模板的实现问题,但核心关注点是:在C++20引入lambda之前,能否通用地实现强制模板重新求值?
注:请勿推荐
__COUNTER__这类宏,它在模板声明中无法生效。
内容的提问来源于stack exchange,提问作者Sergey Kolesnik
相关产品推荐
相关产品推荐

