Concepts 会取代 SFINAE 吗?

so6*_*1pi 7 c++

可能在 C++ 标准(C++17 或 C++20)中的概念。

所以我想知道这个新功能是否可以完全取代SFINAE,或者它只是一个带有很好的错误报告和类型检查的SFINAE的小版本。

是否有 SFINAE 是唯一选择而不是使用 Concepts 的情况?

Wal*_*ter 6

随着概念的形成并在编译器中实现(目前只有 gcc >= 6.1 with option -fconcepts),它们似乎可以更好地完成您可以使用SFINAE完成的所有事情(更清晰的意图表达并产生简洁的错误消息),以及更多(例如缩写模板)。

所以简单的答案是YES