我一直在查看在 GCC 6 中实现的 C++1z N4377概念 TS 草案,但我不明白拥有两种不同概念的目的:变量概念和函数概念。
功能概念草案的相关部分是[dcl.spec.concept (5.4)]
- 声明应具有等效于
{ return E; }
whereE
is a constraint-expression (14.10.1.3) 的函数体。
对于可变概念,在下一段 [(6.3)] 中:
- 初始化程序应该是一个约束表达式。
有什么他们中的一个可以做而另一个不能做的吗?如果没有,是否有理由同时包含两者?
注意:最新的草案,P0121R0在这方面没有任何改变