Will Concepts会取代SFINAE吗?

时间:2015-01-25 04:08:08

标签: c++

可能属于C ++标准的概念(C ++ 17,或者可能是C ++ 20)。

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

有没有SFINAE是唯一的选择而不是使用Concepts?

1 个答案:

答案 0 :(得分:4)

concepts正在形成并在编译器中实现(目前只有gcc> = 6.1,带有选项-fconcepts),看起来他们可以使用{{3}完成您可以做的所有事情只有更好(更明确的意图表达和产生简洁的错误信息),以及更多(如缩写模板)。

所以简单的答案是